子事件
定义子事件
@[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]
这种写法可实现“检测到删字后先反馈动画,再由物件自行处理删字/后续逻辑”。