Flame 1.8.0升级后SpriteAnimation的reset()与onComplete替代方案咨询
Flame 1.8.0 中 SpriteAnimation.reset() 与 onComplete 的替代方案
Flame 1.8.0 对 SpriteAnimation 系统做了重构,将动画数据与播放状态分离,原有的 SpriteAnimation.reset() 和 onComplete 成员被移除,替代方案如下:
替代 SpriteAnimation.reset()
播放状态现在由 SpriteAnimationComponent 管理,直接调用组件的 reset() 方法即可重置动画:
spriteAnimationComponent.reset();
如果是手动管理动画进度(未使用 SpriteAnimationComponent),可以直接将动画的当前帧索引设为 0:
spriteAnimation.currentIndex = 0;
替代 onComplete 回调
动画完成的回调需要绑定到 SpriteAnimationComponent 上:
spriteAnimationComponent.onComplete = () { // 此处编写动画完成后的逻辑 };
如果需要监听循环动画的每次结束,可以使用 onFrameComplete 回调做判断:
spriteAnimationComponent.onFrameComplete = (_, frameIndex) { if (frameIndex == spriteAnimation.frames.length - 1) { // 每次动画循环完成时触发 } };
内容的提问来源于stack exchange,提问作者Panda World
相关产品推荐
相关产品推荐

