创建CCtexture时找不到Spritebuilder文件,但在创建CCsprite时有效?

Posted

技术标签:

【中文标题】创建CCtexture时找不到Spritebuilder文件,但在创建CCsprite时有效?【英文标题】:Spritebuilder file not found when creating CCtexture, but works when creating CCsprite? 【发布时间】:2015-01-17 01:27:00 【问题描述】:

在我的游戏中,我最初使用以下代码创建精灵:

- (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,但据我所知,我使用的目录是正确的。

我在这里缺少什么?非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

尝试在没有文件夹名称的情况下加载它

NSString *directory = [NSString stringWithFormat:@"%@.png", [combo.cookieB spriteName]];

我想它可能是 spriteBuilder 之后的精灵表的一部分。

【讨论】:

感谢您的回答!不过,我实际上之前尝试过,但没有得到爱。我最终只是创建了一个新精灵并将其放在与旧精灵相同的位置以更改纹理,因为纹理更改仍然对我不起作用。

以上是关于创建CCtexture时找不到Spritebuilder文件,但在创建CCsprite时有效?的主要内容,如果未能解决你的问题,请参考以下文章

创建应用程序扩展时找不到桥接头

创建应用程序扩展时找不到桥接头

创建首选项屏幕时找不到androidx.preference.PreferenceScreen

npm 错误:通过 CLI 构建创建反应应用程序时找不到模块'.../immer.js'

创建/验证集群时找不到 get_Error_BPAAsimovNotReachedRetrying()

PowerDesigner创建文件时找不到DBMS列表