首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zwoptex与Cocos2d's CCSpriteBatchNode在视网膜显示器上的应用

Zwoptex与Cocos2d's CCSpriteBatchNode在视网膜显示器上的应用
EN

Stack Overflow用户
提问于 2011-08-24 04:06:06
回答 1查看 3.4K关注 0票数 3

我使用Zwoptex Flash版本生成:

  • 一个带有.png后缀的-hd纹理文件(双尺寸图像)
  • 没有.png后缀的-hd纹理文件(正常大小的图像)
  • 带有.plist后缀的-hd文件。
  • 带有.plist后缀的-hd文件。

我查过文件了,一切似乎都还好。

在我的游戏中,我首先将.plist文件添加到缓存中:

代码语言:javascript
复制
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"ParticleAnimations.plist"];

然后我创建了我的CCSpriteBatchNode:

代码语言:javascript
复制
spriteBatch = [CCSpriteBatchNode batchNodeWithFile:@"ParticleAnimations.png"];
[self addChild:spriteBatch z:0];

最后,使用在纹理中找到的图像的文件名创建我的CCSprite:

代码语言:javascript
复制
CCSprite *particle = [CCSprite spriteWithSpriteFrameName:@"Particle1.png"];
[spriteBatch addChild:particle z:0];

现在,我在模拟器(iPhone)上运行这个程序,它运行得很好。然后,我更改硬件选项并将其设置为"iPhone (视网膜)“,这将在960x640屏幕上转换模拟器。但后来我的麻雀坠毁了。在日志中,下面是这些条目:

cocos2d: CCSpriteFrameCache:尝试使用文件“ParticleAnimations.png”作为纹理 cocos2d: CCSpriteFrameCache: Frame‘cocos2d 1.png’未找到

我不太明白。首先,为什么它使用ParticleAnimations.png而不是粒子动画-hd.png,因为它是在Retina显示模式?当然,为什么它要寻找的是刨花板1.ng而不是Parchine1hd.png?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-24 13:20:55

首先,请您考虑取消将这些行注释到appdelegate中:

代码语言:javascript
复制
// 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文件。

然后,您的sprite名称必须与spritesheets中的名称完全相同。只有plist和纹理文件必须有"-hd“后缀。例如,如果将名为toto.png、titi.png、tata.png的spritesheets命名为mysp,则应该如下所示:

代码语言:javascript
复制
// 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

我希望它能帮到你!

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7170313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档