前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cocosCreator使用spine骨骼动画暂停、继续、重新播放动画

cocosCreator使用spine骨骼动画暂停、继续、重新播放动画

作者头像
南锋
发布2024-05-08 10:56:23
1910
发布2024-05-08 10:56:23
举报
文章被收录于专栏:淡忘的博客淡忘的博客

cocos Creatorcocos Creator

cocosCreator使用spine骨骼动画暂停、继续、重新播放动画

南锋2024-05-072024-05-07(adsbygoogle=window.adsbygoogle||[]).push({})

第一次用creator,spine好像没有提供动画暂停与恢复的api。之前用2dx的时候是通过节点的暂停和恢复方法来实现的,但是换成creator发现node的pauseAllActions()方法并没有效果。

暂停,继续

查找了一番之后,发现sp.Skeleton组件的api中定义了一个暂停的字段paused,将这个字段设置为true即可暂停动画,设置为false继续动画。

示例代码:

代码语言:javascript
复制
this.sk = this.spineNode.getComponent("sp.Skeleton") as sp.Skeleton;
stop(){
  this.sk.paused= true; // 暂停动画
}
play(){
  this.sk.paused= false; // 继续播放
}

注意,这里的将paused设置为false,动画将会在暂停的地方继续往后面播放。如果我们要想重头播放动画,该方法就不适用了。

暂停,重新播放

我这里的思路是将正在进行的动画线管给清除掉,然后重新播放动画。

重新播放动画代码示例:

代码语言:javascript
复制
this.sk = this.spineNode.getComponent("sp.Skeleton") as sp.Skeleton;
stop(){
  this.sk.clearTrack(0);// 暂停动画
}
play(){
  this.sk.setAnimation(0, "animation", false); // 重新播放动画
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • cocosCreator使用spine骨骼动画暂停、继续、重新播放动画
    • 暂停,继续
      • 暂停,重新播放
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档