Objective c Can';不要添加精灵节点

Objective c Can';不要添加精灵节点,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,我正在尝试使用以下代码将精灵节点添加到场景中: CCSprite *sprite = [CCSprite spriteWithImageNamed:@"image-hd.png"]; sprite.position = ccp(0, 0); [self addChild:sprite]; 我得到了无效的spriteFrame用于sprite错误。 问题是我的精灵有一个精灵表,但在这个例子中image-hd.png不是它的一部分。从“快速帮助”中可以看出(它可以来自sprite工作表,也可以来自

我正在尝试使用以下代码将精灵节点添加到场景中:

CCSprite *sprite = [CCSprite spriteWithImageNamed:@"image-hd.png"];
sprite.position = ccp(0, 0);
[self addChild:sprite];
我得到了无效的spriteFrame用于sprite错误。 问题是我的精灵有一个精灵表,但在这个例子中image-hd.png不是它的一部分。从“快速帮助”中可以看出(它可以来自sprite工作表,也可以来自文件),它应该可以工作,但不能。image.png没有SD版本,但我认为cocos2d会根据设备识别所需的图像分辨率,例如SpriteKit。我记得有一个单独的方法spriteWithFile和SpriteWithPriteFrame,但在较新的版本中,它们似乎已被弃用。今天有解决办法吗?(cocos2dv3.4)


我在这里误解了什么

您确定使用的图像路径正确吗

如果您使用的是spritebuilder,它可能是这样的

[CCSprite spriteWithImageNamed:@"Published-iOS/Game/image.png"]

我尝试了这里列出的许多方法,包括一些我可能想到的方法,但都没有奏效。顺便问一下,问题是不是因为我只有“image hd.png”,而没有“image.png”?我认为这并不重要,因为我只会使用iPhone4及以上版本的设备。是的,如果你在视网膜上运行某个东西(设备或sim卡),它可能正在寻找一个
图像hd.png
文件。cocos2d的name extender的全部目的是保持代码不变
image.png
将为设备加载适当的image-something.png文件。因此,可能是因为我的后缀无法识别,现在我只使用image.png图像(大小为2倍)在iPhone 4>上显示为其大小的两倍,因为它们会自动识别为1x并调整大小。我仍然不理解这个机制,有人请告诉我如何让它在iPhone4>分辨率下工作。Nvm,通过完全断开SpriteBuilder()的链接修复了它