我使用Zwoptex Flash版本生成:
我检查了文件,一切似乎都没问题。
在我的游戏中,首先我将.plist文件添加到缓存中:
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"ParticleAnimations.plist"];
然后我创建了我的CCSpriteBatchNode:
spriteBatch = [CCSpriteBatchNode batchNodeWithFile:@"ParticleAnimations.png"];
[self addChild:spriteBatch z:0];
最后创建我的CCSprite,其中包含在我的纹理中找到的图像的文件名:
CCSprite *particle = [CCSprite spriteWithSpriteFrameName:@"Particle1.png"];
[spriteBatch addChild:particle z:0];
现在,我在模拟器(iPhone)上运行它,它运行得很好。 然后,我更改硬件选项并将其设置为“iPhone(视网膜)”,这将在960x640屏幕上转换模拟器。但是,我的gane崩溃了。在日志中,以下是这些条目:
cocos2d:CCSpriteFrameCache:尝试将文件'ParticleAnimations.png'用作纹理
cocos2d:CCSpriteFrameCache:找不到框架'Particle1.png'
我不太明白。首先,为什么它使用 ParticleAnimations.png 而不是 ParticleAnimations-hd.png ,因为它处于Retina显示模式?当然,为什么要寻找 Particle1.png 而不是 Particle1-hd.png ?
答案 0 :(得分:11)
首先,您是否考虑将这些行取消注释到appdelegate:
// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
if( ! [director enableRetinaDisplay:YES] )
CCLOG(@"Retina Display Not supported");
它将使Cocos2d能够使用-hd文件。
然后你的精灵名称必须与你的精灵表格完全相同。只有plist和纹理文件必须带有“-hd”后缀。例如,如果你有一个名为toto.png,titi.png,tata.png的精灵进入名为mysp的spritesheets,它应该是这样的:
// Normal
- mysp.png
- mysp.plist
|- toto.png
|- titi.png
|- tata.png
// Retina
- mysp-hd.png
- mysp-hd.plist
|- toto.png
|- titi.png
|- tata.png
有关详细信息,请参阅此处的官方文档:RetinaDisplay in cocos2d
我希望它能帮到你!