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

隐藏机制

由艺素馒头编写

目录

物件调用

底层原理(废话)

我们都知道,使用“触发物件”积木可以调用其他物件,
但实际上,“触发物件”这条指令在游戏文件里从未被发现,
这是因为“触发物件”实际上是一条伪指令,背后是两条@[set_switch],
为什么?经过我们的研究,实际上游戏里的“被物件触发”模式也是不存在的,
游戏里的“被物件触发”实际上只是添加了一个存在条件,其实底子还是“游戏开始后触发”
只不过因为存在条件的原因,物件只有在真正存在时才会执行指令,这也是为什么“被物件触发”不会显示了
所以,我们在黑魔法里调用一个物件其实很简单

人话

“被物件触发”模式为物件添加了一个“s:switch_name_物件名称==true”,只有“switch_name_物件名称”变量等于true时物件才能存在 所以你可以使用@[set_switch] [“switch_name_计数器”,true]来调用物件 另外你还需要在调用前执行@[set_switch] [“switch_name_计数器”,false]来重置状态 否则就只能调用一次了

完整“触发物件”指令

@[set_switch] ["switch_name_物件名称",false]
@[set_switch] ["switch_name_物件名称",true]

物件移动循环

循环

游戏里正常是没有循环的,但是提供了一个另外的方法来实现循环 那就是@[set_event_loop_move_route],通过使用这条指令,我们可以实现无阻塞循环

完整循环指令

注意这条指令的第二个参数是一个json字符串而不是字典,所以需要在最外面加上双引号 内部的所有双引号也要在前面加上转义符变成\“

@[set_event_loop_move_route] {
    "target": "触发循环",
    "loop_move_route": "[
        {\"command\":\"set_switch\", \"parameters\":[\"switch_name_循环\",false]},
        {\"command\":\"set_switch\", \"parameters\":[\"switch_name_循环\",true]},
        {\"command\":\"wait\", \"parameters\":1}
    ]"
}

这样就能做循环了,想停止只需要再用@[set_event_loop_move_route]覆盖一遍就行了
注意触发循环的物件不能和循环逻辑物件是同一个,而且不能把触发循环物件放在地图外面