Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

子事件

定义子事件

@[sub_event]@[end_sub_event] 成对出现。

@[sub_event] "字面"

(此处编写其他指令)

@[end_sub_event]

@[sub_event]@[end_sub_event] 中间的指令会被添加进该子事件。

触发逻辑

可以把它理解为“检测指定字面的 if 条件”:

  • 当玩家位置与朝向正好面对这个指定字面时,条件为 true。
  • 此时若主物件被触发,就会执行对应的子事件。

游戏会在物件碰撞生成时构建子事件逻辑,子事件的触发位置是该物件内所有“指定字面”的位置。

例如指定字面是“木”,那么该物件里所有“木”的坐标都可作为子事件触发点。可用于实现“单个物件不同位置触发不同事件”的效果。

示例

下面示例中,当“我”在携带 @[sub_event] 的物件字面“人”附近并朝向“人”时,该物件若被触发,会在 [0, 0] 坐标打出“你好,世界!”。

你好,世界!

树树树 
树树人←我
树树树

@[sub_event] "人"

@[type_parallel] {
    "texts": "你好,世界!",
    "pos": [0, 0],
    "tags": [],
}

@[end_sub_event]

删字触发块

@[backspace_command]@[end_backspace_command] 成对出现。

@[backspace_command]
    ..里面填入魔法
@[end_backspace_command]

用于处理“玩家对该物件执行删字”这一触发场景。

当块内存在 @[play_backspace_fail_animation]@[backspace_event] 时,会阻止玩家本次直接删字,并转由物件自身继续执行块内后续指令。

常见配合:

@[backspace_command]

@[play_backspace_fail_animation]
@[backspace_event] {"target": "self"}

@[end_backspace_command]

这种写法可实现“检测到删字后先反馈动画,再由物件自行处理删字/后续逻辑”。