首页 前端知识 COCOS动画暂停与恢复

COCOS动画暂停与恢复

2024-06-08 09:06:41 前端知识 前端哥 842 470 我要收藏

cocos creator 动画暂停和恢复

tween 动画

// 暂停
cc.Tween.stopAll();

var tag: number = 1;
cc.Tween.stopAllByTag(tag);

var tarNd: cc.Node = xxx;
cc.Tween.stopAllByTarget(tarNd);

tarNd.pauseAllActions();
// 恢复
tarNd.resumeAllActions();

经测试:

通过 stopAll、stopAllByTag、stopAllByTarget 暂停的 tween 动画不能够,被 resumeAllAction 恢复;

通过 pauseAllActions 暂停的 tween 可以被 resumeAllActions 恢复;

结论:stoppause 是有区别的,只有被 puase 暂停的 tween 动画才能够被 resume 恢复。

dragonbone 动画

let dragon: dragonBones.ArmatureDisplay = xxx;
let state: dragonBones.AnimationState = dragon.playAnimation("run", -1);

// 暂停
state.stop();
dragon.timeScale = 0;
// 恢复
state.play();
dragon.timeScale = 1;

经测试:

state.stopstate.play 是一组方法,分别控制 dragonbone 动画的暂停和恢复;

通过修改 dragonbonetimeScale 属性,来控制动画的暂停和播放也是可行的,不能够与上面两个方法配合使用达到暂停和恢复播放效果;

animation clip 动画

let animtion: cc.Animation = xxx;
let animationState: cc.AnimationState = animation.play();

// 暂停
this.animation.pause();
this.animationState.pause();
// 恢复
this.animation.resume();
this.animationState.resume();

经测试:

animation.pauseanimation.resume 是一组方法,控制帧动画的暂停和恢复;

animationState.pauseanimationState.resume 是一组方法,控制帧动画的暂停和恢复;

两组方法混合使用,animation.pause 暂停的动画可以用 animationState.resume 恢复,反过来 animationState.pauseanimation.resume 不能够达到同样的效果。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11464.html
标签
cocos2d
评论
发布的文章

echarts柱状图自动轮播

2024-06-16 01:06:46

Echarts--markPoint属性

2024-06-16 01:06:45

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!