我的cocos2d游戏支持视网膜显示有问题。一切都习以为常,但现在我正在进行更新。在此更新中,我只添加了3个新图像(也在高清版本中)。我使用的是用zwoptex制作的纹理图册。生成的png是gameart.png和gameart-hd.png。我正在使用以下代码加载文件:
CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
[frameCache addSpriteFramesWithFile:@"gameart.plist"];
获取任何精灵时我正在使用spriteWithFrameName:
方法。以前一切都工作得很好(即使在iPhone 4上),但现在我只在iPhone 4上收到以下错误:
cocos2d: CCSpriteFrameCache: Frame 'tilei.png' not found
*** Assertion failure in -[BoardTile initWithSpriteFrame:]
文件tilei在gameart.png和gameart-hd.png(tilei.png和tilei-hd.png)以及plist文件中都可用。我重新检查了一千次。怎么可能出错?请注意,错误未显示-hd后缀,即使它仅在iPhone 4上运行时出现。
答案 0 :(得分:6)
hd spritesheet中的sprite 内的-hd
后缀不需要{{1}}。
看起来你有:
- SD-spritesheet
- image1.png
- image2.png
- 等
- HD-spritesheet
- image1的-hd.png
- IMAGE2-hd.png
- 等
你需要:
- SD-spritesheet
- image1.png
- image2.png
- 等
- HD-spritesheet
- image1.png
- image2.png
- 等
答案 1 :(得分:2)
也许您已经看过这个页面,但这里有一个建立cocos2d视网膜应用程序的链接。您可能已经看过它,但它可能对那些想要构建iPhone Cocos2d Retina应用程序的人有用,并且是cocos2d的新手,http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:how_to_develop_retinadisplay_games_in_cocos2d。