Cocos2d Spritesheet没有加载(spriteWithSpriteFrameName)

时间:2013-02-10 17:43:35

标签: xcode cocos2d-iphone ccsprite ccspritebatchnode

我是cocos2d的菜鸟,随着我的发展而学习。我在cocos2d文档中阅读,也从Ray Wenderlich教程中读到,我尝试创建spritesheet,但到目前为止,我无法从我创建的spritesheet中加载任何精灵。当我直接使用普通的CCSprite spriteFromFile时,精灵正好显示。无论如何,我在Zwoptex中创建了spritesheet。我选择了png文件和Coordinates作为Cocos2d .plist。将两个文件(png和plist)拖放到我的项目Resources组中,并在init方法中编写以下代码。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"piece.plist"];
CCSpriteBatchNode *pieceSpriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"piece.png"];
[self addChild:pieceSpriteSheet];

CCSprite *block = [CCSprite spriteWithSpriteFrameName:@"pieceB1.png"];

我已经检查了文件的名称,大小写,甚至多次重新制作spritesheet,但仍然cocos2d无法加载pieceB1.png,尽管它在plist和png中存在。 这是plist文件的屏幕截图:

enter image description here

我得到的错误:

2013-02-11 01:33:04.808 sequence[5787:12203] cocos2d: CCSpriteFrameCache: Trying to use file 'piece.png' as texture 
2013-02-11 01:33:04.815 sequence[5787:12203] cocos2d: CCSpriteFrameCache: Frame 'pieceB1.png' not found 
2013-02-11 01:33:04.818 sequence[5787:12203] cocos2d: Frame interval: 1 
2013-02-11 01:33:04.822 sequence[5787:12203] Application windows are expected to have a root view controller at the end of application launch 
2013-02-11 01:33:04.822 sequence[5787:12203] cocos2d: surface size: 640x960 
2013-02-11 01:33:07.044 sequence[5787:12203] cocos2d: CCSpriteFrameCache: Frame 'pieceG1.png' not found 
2013-02-11 01:33:07.045 sequence[5787:12203] *** Assertion failure in +[CCSprite spriteWithSpriteFrameName:]

感谢。

1 个答案:

答案 0 :(得分:3)

您是否验证了您的文件是否在目标中?此外,你的游戏是否支持高清?如果是的话,你的plist和png文件都应该适当地加上后缀。如果找不到文件,“addSpriteFramesWithFile”调用将无提示失败。