【问题标题】:Cocos2d SpriteSheet AnimationCocos2d SpriteSheet 动画
【发布时间】:2011-07-03 16:47:46
【问题描述】:

我到处都可以找到有关如何使用从 zwoptex 创建的文件运行动画的代码,但它使用的是已弃用的代码。我找不到有关如何使用 CCSpriteBatchNode 运行动画的代码。

有什么建议吗?

【问题讨论】:

  • 你用的是哪个版本的cocos2d?
  • 0.99.5 是我正在使用的版本

标签: iphone animation cocos2d-iphone sprite


【解决方案1】:

这是我使用从 zwoptex 创建的文件制作动画的方式,但我使用的是 CCSpriteFrameCache。我没有收到任何警告,所以我想这段代码没有被弃用:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"frameSheet.plist"];
NSMutableArray* frames = [NSMutableArray array];
for(int i = 1; i <= numberOfFrames; ++i) {
    [frames addObject:
     [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"frame-%03d.png", i]]];
}
CCAnimation* anim = [CCAnimation animationWithFrames:frames delay:0.3f];

纹理文件命名为frameSheet.png,plist文件命名为frameSheet.plist,合成图像命名为frame-001.png ... frame-100.png

如果这对你有帮助,请告诉我。

编辑:

奇怪的是,animationWithFrames:frames 对我来说并没有被弃用:

,

上面写着“从 0.99.5 开始”,我的动画没有问题...

【讨论】:

  • CCAnimation* anim = [CCAnimation 帧延迟:0.3f];这条线我不明白。我在延迟之前收到错误预期],并且警告 CCAnimation 可能无法响应 +frames
  • 抱歉,在 Safari 中双击与在 Xcode 中双击不同,我替换了比我想要的更多的文本;正确的行是:`CCAnimation* anim = [CCAnimation animationWithFrames:frames delay:0.3f]; ;
  • 是的,新版本中更改了很多类名。不过这应该可以。
  • [CCAnimation animationWithFrames:frames delay:0.3f] 在我使用此代码时已被弃用,仅显示一小部分图像。我想是四分之一。
猜你喜欢
  • 2014-03-29
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
  • 2014-03-25
  • 2012-04-21
  • 2011-04-23
  • 2018-10-10
  • 2013-10-27
相关资源
最近更新 更多