cocos2dx 升级至 spine v3.8 快速加载 多个动画 缓存优化方案

举报
Dummy 发表于 2021/11/19 06:32:13 2021/11/19
【摘要】 在spine官方提供的代码中,没有提供动画文件的缓存处理,当同时加载多个动画的时候会卡帧(例如你的游戏中背包里有30个物品,每个物品都有一个相同的特效), 动画数据数量越大,卡得越厉害。为此,我们需...

在spine官方提供的代码中,没有提供动画文件的缓存处理,当同时加载多个动画的时候会卡帧(例如你的游戏中背包里有30个物品,每个物品都有一个相同的特效),
动画数据数量越大,卡得越厉害。为此,我们需要对官方提供的代码做一些优化,经测试加100个相同动画和加载一个动画没有区别,效率提高99.99%:
测试代码:创建200个相同动画 在这里插入图片描述
在这里插入图片描述
效果: 200百个动画瞬间加载完成,适用于场景中有大量且相同的动画,例如游戏中的背包有50个格子,每个格子上都有一个spine特效

步骤:
(注:可以把下面的代码类声明和实现都写在 namespace spine里面,这样和官方代码格式统一)
首先找到cocos2dx的spine库,通常在cocos2d/cocos/editor-support/spine路径下。
在vs工程里默认有4个项目:(libcocos2d; librecast; libspine; 还有一个就是你的项目了) 。在libspine项目下就是整个spine库的代码了。
1.找到skeletonRender.h文件并在里面添加一个缓存的单例类

    class Spine
   
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

文章来源: blog.csdn.net,作者:呦呦鹿鸣.,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zhang1461376499/article/details/106926994

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。