2

我是 cocos2d 的菜鸟,在开发过程中不断学习。我在 cocos2d 文档和 Ray Wenderlich 教程中阅读过,我尝试创建精灵表,但到目前为止,我无法从我创建的精灵表中加载任何我的精灵。当我直接使用普通的 CCSprite spriteFromFile: 时,精灵显示得很好。无论如何,我在 Zwoptex 中创建了 spritesheet。我选择 png 文件和坐标作为 Cocos2d .plist。将两个文件(png 和 plist)拖放到我的项目资源组中,并在 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:]

谢谢。

4

1 回答 1

3

您是否确认您的文件在目标中?另外,您的游戏是否支持高清?如果是,您的 plist 和 png 文件都应适当添加后缀。如果找不到文件,“addSpriteFramesWithFile”调用会静默失败。

于 2013-02-10T18:13:25.710 回答