Skip to content

基础概念

本节主要介绍脚本有哪些构成,以及脚本是如何运行的。

构建单元

构建单元 在 Virtools 术语中称作 Building Block,社区简称 BB。本手册其余部分均会使用简称。

BB 是脚本中的最小单位,它代表了一个 功能。例如一个 BB 可以代表“当玩家球与某个物体发生碰撞时”,或者另一个 BB 可以代表“播放一个音效”。

提示

BB 可以类比成其它编程语言中“函数”或者“类”的概念,但又不完全相同。

一个完整的脚本通常是由多个 BB 连接而成的。BB 的内部负责实现具体的代码功能,而我们编写脚本时只需要使用即可。

举例说明,当我们需要为一个物体设置坐标时,可以使用 Set Position BB。但具体 如何设置坐标、如何与游戏引擎交互 等,则不需要我们关心。我们只需要添加这个 BB,然后将其正确连接,最后提供具体坐标即可。

连接线

连接线分为两种:实线和虚线。其中实线负责逻辑流,表示逻辑顺序;虚线负责数据流,表示数据传递。

对于一个 BB 来说,控制逻辑的出入口一般位于左右两侧,控制数据输入输出的口一般位于上下两侧。所以读一个脚本的正确方式是,沿着实线阅读,先了解脚本依次使用了哪些 BB,然后详细分析时再观察具体的某个 BB 使用了哪里来的数据。

逻辑连接线上的数字表示它的延迟,单位是帧(Frame),一般情况下延迟默认为 0。当连接一根线会导致脚本形成回环时,延迟会自动变为 1,这是为了防止没有延迟的脚本无限运行,防止游戏卡死,因此在一个回环中至少需要 1 帧的延迟。

双击一根逻辑连接线可以修改它的延迟。如果你需要延时固定的时长,建议不要直接修改连接线的延迟,因为游戏时的帧率是不确定的,因此延时也是不确定的。需要延时可以使用 Delayer BB。

Released under the MIT License.