布伦希尔德 发表于 2020-5-29 08:00 学到了!!!同样感谢!!!! |
开关关 发表于 2020-5-28 23:46 感谢!!!!学到了!这就去和rpgmaker对线! |
10楼解说得很详细了,简单地说就是按楼主的写法,追逐事件被激活之后,根本 没 机 会 执行第一页的内容(因为事件优先执行满足条件的、页码较大的一页),来判断是否超出追逐范围然后将独立开关A关闭。 |
本帖最后由 开关关 于 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吧。那用第一种思路就可以了。 |
菜狗子114514 发表于 2020-5-28 21:35 少写了一些:直接通过变量1=玩家X, 变量2=玩家Y来实现就好 但是我现在发现还是有一个问题 我在开一楼吧 |
布伦希尔德 发表于 2020-5-28 18:59 因为在美术方面需要以这个玩家X玩家Y来定位玩家位置。因此设置了这一变量。您说的我大概也听明白了,就是说其实没必要将玩家X这一变量作为中间的节点,直接通过 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-27 19:56
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.