我是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文件的屏幕截图:
我得到的错误:
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:]
感谢。
答案 0 :(得分:3)
您是否验证了您的文件是否在目标中?此外,你的游戏是否支持高清?如果是的话,你的plist和png文件都应该适当地加上后缀。如果找不到文件,“addSpriteFramesWithFile”调用将无提示失败。