在不使用.plist文件的情况下使用CCSpriteBatchNode

时间:2013-10-29 06:29:33

标签: ios iphone animation cocos2d-iphone sprite

我目前正在开发一款在iOS环境下使用动画的简单游戏。我有一个.png文件 enter image description here 其中包含与动画相关的所有帧。我收到了一些疑问:

  1. 是否可以直接使用此图像来提取创建CCSpriteBatchNode所需的各个帧图像?

  2. 有没有办法直接使用这个单个图像来创建动画而不使用.plist文件?

  3. 或者我必须使用TexturePacker软件来创建.png和.plist文件,使用动画的各个帧图像?

  4. i)个

    enter image description here

    ⅱ) enter image description here(使用这些)

    提前致谢。 : - )

2 个答案:

答案 0 :(得分:2)

1& 2:是的。如果精灵帧都具有相同的大小,这是相当微不足道的。只需将用于CCSprite的纹理矩形偏移每帧的宽度即可。您可以手动创建CCSpriteFrame对象,然后在CCSpriteFrameCache上调用addSpriteFrame:name:以按名称对它们进行缓存和索引 - 如果需要的话。

如果使用此动画有多个字符,则可以使用纹理初始化批处理节点。如果这是你的播放器动画(即只有一个使用纹理的精灵),你可以跳过创建精灵批处理节点,因为它只是一个精灵在任何给定时间显示相同纹理的几个帧之一。

3:TexturePacker一定会让你的生活更轻松。您不必编写额外的代码(可能包含错误)来处理动画帧,TP可以更紧密地打包图像,消除透明区域和重复帧。

答案 1 :(得分:0)

您最好使用任何image splitting online tool分割此图像并提取单个图像。然后使用TexturePacker生成plist数据文件和CCSpriteBatchNode理解的纹理图像文件。