词法
注释
// 单行注释
/*
多行注释
*/标识符
以字母、下划线或 $ 开头,后跟字母、数字、下划线或 $。
有效示例:attic、_private、$global、scene1、dialog_001
所有 ID(场景 / 对话 / 物品 / 敌人 / 状态 / 配方等)一律直接写标识符,不加引号。
特殊标识符
null,表示空无一物
字符串
| 类型 | 语法 | 说明 |
|---|---|---|
| 单行 | "文本" 或 '文本' | 支持转义 \" \' \n \t,支持 HTML |
| 多行 | """文本""" 或 '''文本''' | 保留换行,内部无需转义;自动去缩进 |
多行字符串会自动去缩进:去掉紧随开引号的换行、结尾的换行+缩进,以及所有非空行的公共前导空白,因此书写时可以自然缩进:
"""
这是一段多行台词。
第二行。
"""解析结果:"这是一段多行台词。\n第二行。"
数字与布尔
整数、浮点数、true、false。
代码块
代码块以下几种写法:
无参:直接用 { } 包围——
{
Adv.bag.Gold += 10;
Adv.status.hp = Math.min(Adv.status.hp + 20, 100);
}含参:写成箭头函数 (参数) => { }——
(num) => {
Adv.status.hp += 15 * num;
}带类型注释(TS 风格,可选):参数类型、返回类型原样保留——
(targets: ADVEnemy[], times: number): void => {
targets.forEach(t => { t.hp -= 10 * times; });
}- 参数必须写在一对括号里:
(num) => { ... }可以,而裸写num => { ... }不行。