Sprite Sheet 动画 Cocos2dx

Posted

技术标签:

【中文标题】Sprite Sheet 动画 Cocos2dx【英文标题】:Sprite Sheet Animation Cocos2dx 【发布时间】:2014-10-03 23:19:21 【问题描述】:

几周以来,我一直在努力工作,试图让精灵表动画正常工作,但事实并非如此。我已经尝试过,使用这个 wiki 页面 http://www.cocos2d-x.org/wiki/Sprite_Sheet_Animation,并且我尝试制作自己的代码,但都没有让 e 离我想去的地方很近,我真的不知道我在这里做什么.任何帮助都将受到欢迎,并非常感谢。提前致谢。

【问题讨论】:

您到底尝试了什么,到底是怎么回事? 您提到的链接非常正确。我最近用过几次,效果很好。 【参考方案1】:

对于精灵表动画,您必须为所有图像制作一个 plist。

下载纹理打包器:https://www.codeandweb.com/texturepacker

安装纹理打包器后,添加精灵并发布它。

它将创建一个 plist。 将该 plist 和 png 添加到项目的资源文件夹中。

现在将以下代码添加到 GameLayer 的 init() 中:

SpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("BowArrow.plist");
for (int i = 1; i <= 9; i++) 
     frame = String::createWithFormat("Bow%d.png", i);
     frames.pushBack(
     SpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(
     frame->getCString()));
 

现在您在帧缓存中拥有 plist 的所有精灵,您可以按照您想要的方式在它们上运行动画。

希望对你有帮助。

【讨论】:

【参考方案2】:

您可以使用 GIF 制作动画,我是在我的游戏中制作的,从来没有出现过性能问题,您可以从 web GIF Maker 制作 GIF

【讨论】:

以上是关于Sprite Sheet 动画 Cocos2dx的主要内容,如果未能解决你的问题,请参考以下文章

Sprite Sheet - 在旧 sprite 之上绘制新 sprite

Unity Sprite Sheet 在 Android 设备上呈锯齿状

在 Unity 中,关于 sprite sheet 切片的数据存储在哪些文件中?

从 sprite_sheet 坐标创建纹理

Sprite Sheet自动检测单个Sprite界限

unity2d sprite sheet 和 sprite packer 有啥区别?