我是 cocos2d 的菜鸟,在开发过程中不断学习。我在 cocos2d 文档以及 Ray Wenderlich 教程中阅读,我尝试创建 spritesheet,但到目前为止无法从我创建的 spritesheet 加载任何 sprite。当我直接使用普通的 CCSprite spriteFromFile: 时, Sprite 显示得很好。不管怎样,我在 Zwoptex 中创建了 spritesheet。我选择了 png 文件,坐标为 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:]
谢谢。
最佳答案
您是否确认您的文件位于目标中?另外,你的游戏支持高清吗?如果是,您的 plist 和 png 文件都应添加适当的后缀。如果未找到文件,“addSpriteFramesWithFile”调用会失败,且不会提示任何信息。
关于xcode - Cocos2d Spritesheet 未加载(spriteWithSpriteFrameName),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14800620/