Project1
标题:
播放动画的代码问题。动画播放到底啥时候才真正结束?
[打印本页]
作者:
新耀012478
时间:
2022-7-15 20:06
标题:
播放动画的代码问题。动画播放到底啥时候才真正结束?
本帖最后由 新耀012478 于 2022-7-15 23:59 编辑
自己试了一下,确实只有在动画完全播放完毕以后,该事件的._animationPlaying才会变为false(没有仔细查代码,只是从F12确定的)。
因为只有事件才能被播放动画的样子,我就使用了以前找到的一个事件复制插件。不过我想问题应该跟它无关。我的问题是想知道准确的判定条件。
因为动画播放是异步事件,这些临时的空事件是需要在播放完以后删除的。所以我就用了回调函数,我是进行的一个对地图上多个点进行动画的,所以我就按顺序如果数组里最后一个的播放变成false那么就resolve()。
但是实际上数组里本身就只有一个事件……
我以为false就意味着完成了,所以就用.then()执行清除临时事件的函数了,却没想到报错了……
我认为是判定条件的问题,变成false的时候只是不影响玩家游玩,但是实际上并没有真正结束,我对动画还没开始研究,所以想直接来论坛里问问
作者:
新耀012478
时间:
2022-7-15 23:12
找到问题了……明明if应该判定是false,可是却执行了后面的内容,我并没有使用任何等号,而是直接用感叹号判定的。
if(!$gameMap._events[3]._animationPlaying){resolve()}
我从头到尾一直在F12里面,也就是说现在还是true,事实上也确实是true,然而……
作者:
新耀012478
时间:
2022-7-15 23:21
好吧,是我对then的理解有问题,之前搜到flu开头的是完成,pending是进行中,而then左边写得似乎是是否完成的意思,我就误会了……
作者:
新耀012478
时间:
2022-7-15 23:57
最终还是选择加到了updateMain里,应该算回避了这个问题
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1