赞 | 26 |
VIP | 0 |
好人卡 | 0 |
积分 | 76 |
经验 | 0 |
最后登录 | 2024-11-9 |
在线时间 | 665 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 7595
- 在线时间
- 665 小时
- 注册时间
- 2012-7-29
- 帖子
- 174
|
本帖最后由 开关关 于 2020-5-28 23:50 编辑
描述很详细,好评。事件同时只能执行一页的内容,因此写在第一页的下列部分没有机会被执行。
·如果 : 追逐 为 OFF
·独立开关操作: A= OFF
·
:结束
·
逻辑是这样的:
开关:追逐==OFF 的情况下,敌人事件重复执行第一页内容。每重复执行一次,便经历如下过程:开始执行;判断 开关:追逐==ON,发现不对,忽略包含的内容;然后判断 开关:追逐==OFF,发现正确,于是执行 独立开关操作: A=OFF。执行完毕。每次一套下来为本来就是OFF的独立开关:A赋值OFF,没有任何效果。
开关:追逐==ON 的情况下,敌人事件执行第一页内容:开始执行;判断 开关:追逐==ON,发现正确,执行 独立开关操作: A=ON;然后判断 开关:追逐==OFF,发现错误,于是忽略包含的内容。执行完毕。随后所有事件update,敌人事件发现第二页的条件满足了,于是它优先且仅表现第二页。第二页的触发条件是事件接触,因此不执行。
2楼说得对,敌人事件切换到第二页后仍然需要并行事件。但是并行事件不能写在执行内容里,因为第二页要写事件接触的执行内容。那应该怎么办呢?小编也不知道呢!这里提供两种思路。
第一种思路,既然只有一个追逐的NPC,那就可以在计算距离平方的公共事件里补充判断,如果足够远,则执行 开关操作:追逐=OFF 。然后将敌人事件第二页的出现条件改为 开关:追逐==ON ,就能由公共事件控制这个NPC了。
第二种思路,如果有很多追逐的NPC,不能用公共事件以偏概全,那么可以将判断 开关:追逐==OFF 写在自主移动里面,若 开关:追逐==OFF 则独立开关A=false,否则接近玩家。自主移动的自定义就相当于一个并行处理的事件,里面的“脚本”可以做到这个效果。具体写法看具体情况,这里就不乱举例了。
看到你的图片,应该只有一个追逐的NPC吧。那用第一种思路就可以了。 |
|