在我的游戏中,我最初使用此代码创建精灵:
- (void)addSpritesForCookies:(NSSet *)cookies {
for (BBQCookie *cookie in cookies) {
NSString *directory = [NSString stringWithFormat:@"sprites/%@.png", [cookie spriteName]];
CCSprite *sprite = [CCSprite spriteWithImageNamed:directory];
sprite.position = [self pointForColumn:cookie.column row:cookie.row];
[self.cookiesLayer addChild:sprite];
cookie.sprite = sprite;
}
}
这完全正常,精灵可以正常显示。我需要的所有纹理都在我在spritebuilder中创建的智能精灵表中。这是Spritebuilder结构的截图,因为我没有足够的声誉在这里发布图像:https://www.evernote.com/shard/s30/sh/e1ea553f-a26c-4ecd-866b-551b50f14bd7/cc338b5ea3e557777a9a3acdeb0cd5ac
然后我需要更改一些精灵的纹理。我正在使用以下代码:
CCActionCallBlock *changeSprite = [CCActionCallBlock actionWithBlock:^{
NSString *directory = [NSString stringWithFormat:@"sprites/%@.png", [combo.cookieB spriteName]];
CCTexture *texture = [CCTexture textureWithFile:directory];
combo.cookieB.sprite.texture = texture;
}];
但是,我只是记录了这些消息:
2015-01-17 12:22:09.294 BbqBlitz[65732:4875151] -[CCFileUtils fullPathForFilename:contentScale:] : cocos2d: Warning: File not found: sprites/Cupcake.png
2015-01-17 12:22:09.294 BbqBlitz[65732:4875151] cocos2d: Couldn't find file:sprites/Cupcake.png
奇怪的是,我使用完全相同的文件路径来创建精灵,这很好。但是现在我正在尝试创建一个不起作用的纹理,精灵在我的游戏中变成了黑色方块。
我已经读过这个类似的问题:SpriteBuilder image file not found但是我可以告诉我正在使用的目录是正确的。
我在这里缺少什么?非常感谢您的帮助!
答案 0 :(得分:0)
尝试加载没有文件夹名称
NSString *directory = [NSString stringWithFormat:@"%@.png", [combo.cookieB spriteName]];
我想,它可能是spriteBuilder之后的精灵表的一部分。