Fork Me On Github

问题描述

当游戏结束了,重新开始发现使用 Tween 的补间动画不起作用了。

解决方法

在 github 的 issues 找到同样的问题

Tween._inited does not reset if scene is being destroyed or removed inside the game and rebuild

意思就是 Tween 上的一个 _inited 私有属性没有更新,只要增加一句代码就行了

Tween._inited = undefined;

但这种方法肯定是不友好的,但是 Tween 又没有提供 reset 方法,

最后通过查看源码,发现是 createjs.Ticker 引起的

当执行 createjs.Ticker.reset() 会清空所有 tick 事件监听,而 Tween 又没有收到通知,没法更新 _inited 属性,导致 Tween 不会重新添加事件监听 createjs.Ticker.addEventListener("tick", Tween)

所以,要么不要使用 createjs.Ticker.reset(),要么使用

createjs.Ticker.reset();
createjs.Tween._inited = undefined;
标签: createjs
点击查看全文
0 7 0