iphone - 使用 Cocos2d 自动 Sprite 动画

标签 iphone objective-c cocoa cocos2d-iphone

我在 Cocos2d 中有一个代表我角色的类。
我已经导出了 spritesheet + .plist 文件。

角色有多个动画。

这些框架简称为“Character_1.png”
最多四个。这是基本的行走动画。

在许多 Sprite 动画教程中,我找到了这个示例代码,它循环遍历 Sprite 帧缓存并将其添加到数组中,以便您可以对其进行动画处理:

for(int i = 1; i <= 4; ++i) {
    [animationFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Character_%d.png", i]]];
}

但是,因为我的大多数 Sprite 都会像这样进行动画处理,所以我想将其委托(delegate)给一个父类(super class)。

我想把它命名为类似

spriteWithAnimations:(NSArray *)animationNames

然后我会查看它们,就像上面的示例一样。

因此,作为数组中的参数,我会得到一个字符串 @"Character_%d",我会创建一个 while 循环并检查文件是否存在,同时,我' d 将其添加到数组中。

唯一的问题是,我无法检查框架 "Character_05.png" 是否存在,因为 CCSpriteFrameCache 没有这样的方法。

这个问题通常是如何解决的?

最佳答案

如果 CCSpriteFrameCache 对于给定的帧名称返回 nil,则您知道它不存在。不优雅,但有效。

关于iphone - 使用 Cocos2d 自动 Sprite 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14665322/

相关文章:

iphone - 从通讯录中获取记录时,应用程序崩溃

IOS Objective-c - 让联系人不起作用 - 没有请求提示 - 访问被拒绝

objective-c - 在 Objective C 中,你能检查一个对象是否具有特定的属性或消息吗?

swift - 如何在 Swift 4 Cocoa 应用程序的开头弹出两个窗口?

ios - 在 IOS 中为框架创建 bundle ?

iOS 应用程序开始在 4"screen like on 3.5"上运行

ios - 如何正确切换 View

objective-c - Cocoa - View 处理的解释

ios - 指定初始化程序缺少对父类(super class)的指定初始化程序的 super 调用

iphone - iTunes Connect 促销代码和应用程​​序更新