设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1336|回复: 3
打印 上一主题 下一主题

[有事请教] 播放动画的代码问题。动画播放到底啥时候才真正结束?

[复制链接]

Lv2.观梦者

梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
帖子
114
跳转到指定楼层
1
发表于 2022-7-15 20:06:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
70星屑
本帖最后由 新耀012478 于 2022-7-15 23:59 编辑

自己试了一下,确实只有在动画完全播放完毕以后,该事件的._animationPlaying才会变为false(没有仔细查代码,只是从F12确定的)。
因为只有事件才能被播放动画的样子,我就使用了以前找到的一个事件复制插件。不过我想问题应该跟它无关。我的问题是想知道准确的判定条件。
因为动画播放是异步事件,这些临时的空事件是需要在播放完以后删除的。所以我就用了回调函数,我是进行的一个对地图上多个点进行动画的,所以我就按顺序如果数组里最后一个的播放变成false那么就resolve()。
但是实际上数组里本身就只有一个事件……
我以为false就意味着完成了,所以就用.then()执行清除临时事件的函数了,却没想到报错了……
我认为是判定条件的问题,变成false的时候只是不影响玩家游玩,但是实际上并没有真正结束,我对动画还没开始研究,所以想直接来论坛里问问

Lv2.观梦者

梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
帖子
114
2
 楼主| 发表于 2022-7-15 23:12:25 | 只看该作者
找到问题了……明明if应该判定是false,可是却执行了后面的内容,我并没有使用任何等号,而是直接用感叹号判定的。
if(!$gameMap._events[3]._animationPlaying){resolve()}
我从头到尾一直在F12里面,也就是说现在还是true,事实上也确实是true,然而……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
帖子
114
3
 楼主| 发表于 2022-7-15 23:21:11 | 只看该作者
好吧,是我对then的理解有问题,之前搜到flu开头的是完成,pending是进行中,而then左边写得似乎是是否完成的意思,我就误会了……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
帖子
114
4
 楼主| 发表于 2022-7-15 23:57:22 | 只看该作者
最终还是选择加到了updateMain里,应该算回避了这个问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-13 20:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表