【问题标题】:Creating animated sprites for cocos2d from a single image file without a .plist file从没有 .plist 文件的单个图像文件为 cocos2d 创建动画精灵
【发布时间】:2012-07-21 14:02:44
【问题描述】:

我开始学习cocos2d,遇到以下问题:

我似乎找不到从单个 png sprite 文件创建 sprite 帧并为其设置动画的方法。我已经找到了一百万个关于使用单独的图像文件或 plist 文件与 png 的教程,但我找不到如何做到这一点(使用选择矩形区域的常规循环。有帮助吗?

【问题讨论】:

  • 你想创建什么类型的动画,因为你想改变颜色或旋转,突出显示或一些东西......我想我可以帮助你......
  • 首先我需要一个常规的行走动画。

标签: objective-c cocos2d-iphone


【解决方案1】:

要在 cocos2D 中工作的精灵表,您需要 .plist 文件和 .png 文件。

您需要一个 CCSpriteFrameCache 对象,该对象将位于 sharedSpriteFrameCache 和全局中,这意味着 Sprite 帧缓存不仅用于该方法,而且将存在于内存中,直到您将其删除。然后你必须创建一个包含精灵表文件引用的 CCBatchNode 对象。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"EntryJump.plist"];

CCSpriteBatchNode *entrySpriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"PotkaEntry.pvr.ccz"];

我使用的是 .pvr.ccz 格式,你可以使用 .png 文件。

我在这里想说的是,有必要在 cocos2D 的 Sprite 帧缓存中加载 .plist 文件,其中所有内容都是全局定义和加载的,然后 cocos2D 将使用 CCSpriteBatchNode 对象(精灵表),其中.plist 文件中解释了精灵的各个图像。

【讨论】:

  • 如果我自己找到一些精灵图像并需要为它们创建一个 plist 怎么办?同样,我在谈论精灵编译图像。我已经尝试过texturepacker和zwoptex,仍然找不到如何从一个精灵文件中分解帧。
  • 您只需要自动调用框架名称 plist 即可,无需从整个图像中剪切它。
  • @Haroon,我该怎么做?有没有在线教程之类的?抱歉,我是新手。
  • 如果你没有 .plist 文件并且碰巧有一个 sprite sheet 文件,我认为它不会在 cocos2D 中工作,因为它需要 .plist 文件来设置帧缓存.但是,如果您正在为 Unity 3D 开发,则不需要属性列表文件。但是,您可以使用 Preview 或 Photoshop 将图像剪切为特定大小并单独保存。然后使用 Texture Packer 或 Zwoptex 生成一个精灵表,它会为你生成一个 .plist 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 2014-05-16
相关资源
最近更新 更多