你的事件执行顺序是:先记录玩家和事件的坐标 → 事件向右移动(此时记录的坐标是移动前的坐标) → x==19 时传送(因为移动了一格,所以实际情况是事件在坐标 x==20 时才传送) 还有你的判断写法:事件和人物的x坐标相同时是不执行事件传送指令的,所以人物站在事件前一格时,两者的变量x坐标相同,但实际并非在同一格子,可能导致能没传送的bug…… 然后还有飞刀移动时勾选了等待,那在此时人物移动的话,即使碰上了也不会执行死亡,因为事件还没有执行到重新判断坐标变量的步骤。 按照这样改改看: 以及,如果是并行事件,不需要加循环,会自动反复执行。 |
改成这样子试试? $game_player.x == $game_map.events[@event_id].x && $game_player.y == $game_map.events[@event_id].y $game_map.events[@event_id].x == 19 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-5-7 05:56
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.