基本语法
AVScript
的基础语法和 JavaScript
几乎一致。本章并不会完全讲解脚本语法,仅做抛砖引玉,如需了解更多,请自行学习 JavaScript
.
建议
可通过 https://www.w3schools.com/js 学习一点 JavaScript 的语法基础。
变量声明¶
我们可以在脚本中定义一个块级作用域的变量,仅存在于运行期,并不会对游戏存档里的数据造成任何改变。
使用 let
关键词定义 变量¶
变量初始化之后可以重新赋值。
1 2 3 4 5 6 |
|
使用 const
关键词定义 常量¶
有时候为了我们定义的变量在后面不能再被重新赋值,则可以把它定义为常量。
1 |
|
函数¶
我们可以在 AVGScript
中使用 函数(Function).
但需要注意的是,我们不能使用 function
关键字来定义函数。在 AVGScript 里,我们仅能使用 箭头函数(Arrow Function) 。
为什么这样设计呢?
AVGScript 的设计方向是尽可能精简,但又能保留 JavaScript 的语言特性,在权衡利弊之下,并且在同一个脚本文件(.avs)里,我们希望脚本是线性的,是不具备块级作用域的,也不应该存在 .this
对象。因此我们选择了去掉 function
,选择了箭头函数。
函数定义¶
1 2 3 4 5 6 7 8 |
|
Note
在 AVGScript 中使用函数并不是必须的,API 的设计宗旨是尽可能保证足够小的调用粒度。
但如果你希望把某些代码片段封装以复用,可考虑它挂在 $data
对象下,这样您在任何脚本里都可以访问到这部分共用的代码片段。
为了更清晰地组织游戏功能,我们建议使用 flow.call()
方法在 .avs
文件之间进行流程跳转。
当然,为了保证语言层面有足够的自由,并且在有足够的经验和把握的情况下,你仍然可以在 AVScript 中使用函数。这个需要开发者自行把握。
- 关于 $data 对象:变量作用域机制
If 条件语句¶
基本的逻辑判断语句。
1 2 3 4 5 6 7 |
|