数周以来,我一直在努力工作,试图让 sprite 表动画正常工作,但事实并非如此。我试过,使用这个 wiki 页面,http://www.cocos2d-x.org/wiki/Sprite_Sheet_Animation ,而且我已经尝试编写自己的代码,但都没有远离我想去的地方,而且我真的不知道我在这里做什么。任何帮助都将受到欢迎,我们将不胜感激。提前致谢。
最佳答案
对于 Sprite 表动画,您必须为所有图像制作一个 plist。
下载纹理打包器:https://www.codeandweb.com/texturepacker
安装纹理打包器后,将 Sprite 添加到其中并发布。
它将创建一个 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 的所有 Sprite ,您可以按照您想要的方式在它们上运行动画。
希望对你有帮助。
关于c++ - Sprite 表动画 Cocos2dx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238030/