在使用CCMenuItemImage时遇到此问题。看来我必须将SelectedImage和NormalImage设置为不同的CCSprites,否则会使我的应用程序崩溃。 (我计划稍后在这两种状态下使用唯一资产)CCMenuItemImage * ItemButton;定义/初始化。
以下内容不起作用:
CCSprite *updatedSprite = [CCSprite spriteWithFile:@"1_button.png"];
[ItemButton setNormalImage:updatedSprite];
[ItemButton setSelectedImage:updatedSprite];
以下工作正常:
CCSprite *updatedSpriteNormal = [CCSprite spriteWithFile:@"1_button.png"];
[ItemButton setNormalImage:updatedSpriteNormal];
CCSprite *updatedSpriteSelected = [CCSprite spriteWithFile:@"1_button.png"];
[ItemButton setSelectedImage:updatedSpriteSelected];
好奇地知道为什么会发生这种情况,我做了一些挖掘,但找不到确定的内容。任何见识都会很棒。
最佳答案
当您设置setSelectedImage时,该子级作为子级添加到ItemButton,因此它具有父级。您必须为setNormalImage创建CCSprite的第二个实例,因为cocos2d的节点层次结构将始终阻止将已经具有父对象的对象作为子对象添加。
关于objective-c - CCMenuItemImage-setSelectedImage和setNormal图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13353633/