把油灯使用效果改成公共事件1就行 公共事件1 正常处理 公共事件2 并行处理 这样就行了 |
本帖最后由 崭翼 于 2018-4-6 16:52 编辑 百里_飞柳 发表于 2018-4-6 10:31 用力地看了好几遍 总之是不是可以理解成,系统为了【挂起】其他可能的事件操作而需要留一点“空隙”……(虽然不知挂起指令是什么,瞎猜是像挂钩衔接一样把程序放到后台且不结束) 总之这一点是需要加等待的核心原因了吧…… ------------------------------ 测试了一下,等待1帧分别放在公共事件1开头、末尾以及公共事件2各处……只有放在开关关闭和图片消除之间才能完全解决。 另外“没有正常关灯”的状况其实是,图片不会随玩家移动而移动 , 但图片不消失。看来就是开关关了,公共事件1停止, 一定是"图片消除"没有执行。(早该发现!!) |
本帖最后由 百里_飞柳 于 2018-4-6 10:43 编辑 那真的是很神秘的bug了 按照你的事件编写,触发物品效果(关灯)前后的脚本逻辑是: 第一帧(使用物品前,依旧在地图中):是否需要刷新普通事件、并行公共事件的当前激活状态(否)→预定调用的公共事件更新一帧(无)→普通事件全部更新一帧(忽略)→在上一帧判定为激活(满足了触发条件)的并行公共事件按照序号依次更新一帧(更新灯光公共事件) 第二帧(使用物品后,从菜单返回地图):是否需要刷新事件激活状态(否)→预定调用的公共事件更新一帧(关灯公共事件启动,因为其中无挂起指令(如等待n帧),可直接更新完;开关关闭,预定下一帧需要刷新事件激活状态;但本事件的解释器要到下一帧时才会被清除,因此原本此处也有的刷新事件激活状态也被跳过※)→普通事件更新(忽略)→公共事件更新(还未被刷新激活状态,公共事件仍然被调用了一次,此时图片又显示出来) ※ 原因解释
第三帧:是否需要刷新事件激活状态(是,直接删去不满足条件的公共事件的更新)→预定公共事件的更新(无)→普通事件全部更新一帧(忽略)→并行公共事件按照序号更新一帧(无) 推了很多次都是这样的结果,你可以试试在第一个公共事件的首行or末行增加 等待1帧,错开它们更新的时机? |
本帖最后由 shencao 于 2018-4-6 04:42 编辑 你在【002 开灯】最后加个“等待1帧”就可以了。 等待1帧效果就是之前的命令执行完毕,停1帧,再执行之后的。 这里我加在最后是想确保开灯事件一次执行完,放在消除图片1后应该也可以吧,放在关闭开关后大概也可以(后两种情况我没测试)。 rm事件执行顺序有点迷的,并行可能不知道哪里的几行命令在同时执行,并不懂。如果发生了奇怪的bug可以加上试试,反正1帧肉眼也分辨不出。 另外如果是按照我自己的思路,事件我会这么写: 【油灯光】get玩家坐标,移动图片(移动时间1帧,等待移动结束/不等待移动结束我测试的时候都OK) 【开灯】如果开关开启:消除图片,关闭开关;否则:get玩家坐标,显示图片,开启开关。 功能分开就不会出现一个事件消除图片另一个事件显示图片两个事件打架的情况了,(效果大概没差)供参考啦~ |
本帖最后由 崭翼 于 2018-4-6 16:44 编辑 百里_飞柳 发表于 2018-4-5 22:55 是的……这也是让人困惑的问题,不符合条件以后并行公共事件是怎样地停止…… 不过按鹰大所说在事件1后面加分支好像也无效了…因为开关关闭的话大概就不再往下执行…… |
在事件1最后加个 如果开关21被关闭,就消除图片1 并行公共事件的执行时机很迷幻。并不是条件不满足就立刻停止,有可能会多执行一次 |
gforce 发表于 2018-4-5 19:08 ……没有办法的连帖…… 谢谢前辈。 做事件时不知道应该在哪里添加等待帧… |
文雅夕露 发表于 2018-4-5 18:57 谢谢0 0 不过事件1不并行的话似乎会走得很慢……事件2并行啊……思考 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 11:46
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.