【发布时间】:2013-01-17 21:19:10
【问题描述】:
我在 Cocos2d 中有一个代表我的角色的类。
我已经导出了 spritesheet + .plist 文件。
角色有多个动画。
框架简称为“Character_1.png”。
最多四个。这是基本的行走动画。
在许多精灵动画教程中,我发现了这个示例代码,它循环通过精灵帧缓存并将其添加到数组中,以便您可以对其进行动画处理:
for(int i = 1; i <= 4; ++i) {
[animationFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Character_%d.png", i]]];
}
但是,因为我的大多数精灵都会像这样被动画化,所以我想把它委托给一个超类。
我想把它称为
spriteWithAnimations:(NSArray *)animationNames
然后我会查看它们,就像上面的示例一样。
所以作为数组中的一个参数,我会得到一个字符串@"Character_%d",我会做一个while循环并检查文件是否存在,而当我把它添加到数组中时。
唯一的问题是,我无法检查框架 "Character_05.png" 是否存在,因为CCSpriteFrameCache 没有这样的方法。
这通常是如何解决的?
【问题讨论】:
-
检查 Kobold2D www.kobold2d.com 中的 CCAnimation 扩展类,它已经完成了您的计划
-
对不起,我已经在概念中定义了我使用的是Cocos2d。
标签: iphone objective-c cocoa cocos2d-iphone