gpt4 book ai didi

ios - (Cocos2D) Child 已经添加了 CCMenuItemImage?

转载 作者:行者123 更新时间:2023-11-28 23:08:41 25 4
gpt4 key购买 nike

我正在尝试像这样即时更改我的 CCMenuItemImage 的图像:

- (void)playOrPauseMusic {
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
CCSprite *newSprite;
if (itemImage.tag == 50) {
[musicPlayer pause];
newSprite = [CCSprite spriteWithFile:@"Image1.png"];
playstopButton.tag = 51;

} else {
[musicPlayer play];
newSprite = [CCSprite spriteWithFile:@"Image2.png"];
itemImage.tag = 50;
}
CGPoint scale6 = CGPointMake(164 / newSprite.contentSize.width,
48 / newSprite.contentSize.height);

[newSprite setScaleX:scale6.x];
[newSprite setScaleY:scale6.y];
[itemImage setNormalImage:newSprite];
newSprite.color = ccc3(128, 128, 128);
[itemImage setDisabledImage:newSprite];
}

问题是,每当调用此方法时都会发生此崩溃:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'child already added. It can't be added again'

我是不是做错了什么?

谢谢!

最佳答案

好吧,在你设置了 NormalImage 之后,newSprite 对象就有了父对象(imageItem 对象)。当您使用相同的 newSprite 对象设置禁用图像时,coco 可能会提示,因为该 sprite 对象已经在某处的 CCNode 层次结构中(即 nil!=newSprite.parent)。

您可能想要创建一个新的 SpriteEnabled 对象和一个新的 SpriteDisabled 对象,然后将颜色设置为 newSpriteDisabled,然后从那里获取它。

关于ios - (Cocos2D) Child 已经添加了 CCMenuItemImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com