【发布时间】:2016-01-06 13:22:30
【问题描述】:
我目前正在为新的 V 3.4 引擎修复一个旧的 Cocos iPhone Xcode 项目。它曾经工作得很好,但是我发现了这行代码:
CCParticleSystem *fire = [CCParticleSystemQuad particleWithFile:@"fire.plist"];
CCParticleSystemQuad 已被移除,因此我将其替换为“CCParticleSystem”:
CCParticleSystem *fire = [CCParticleSystem particleWithFile:@"fire.plist"];
它一直在该行代码处崩溃并显示以下错误消息:
- cocos2d: Couldn't find file:user_particle30956.png
- *** Assertion failure in -[CCTextureCache addCGImage:forKey:], /Users/.../Source/libs/cocos2d-iphone/cocos2d/CCTextureCache.m:370
- *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
图像不存在,实际上作为纹理图像数据嵌入到 plist 文件中。我知道在 Cocos V 2 中,它会自动创建并存储此纹理图像数据作为带有名称的图像文件。 我怎样才能使这项工作适用于 V 3?
我不确定您需要多少有关 plist 文件的信息。这是一长串粒子系统配置(角度、持续时间、发射器类型等)之后的信息:
<key>textureFileName</key>
<string>user_particle30956.png</string>
<key>textureImageData</key>
<string>eJztnQecXWURxXdDgCCggBQLuisqKlbslcSCBcEC9pa1996wkbUr9q5...</string>
谢谢大家。
【问题讨论】:
标签: objective-c cocos2d-iphone plist