Iphone removeChildByTag:未找到子项错误
removeChildByTag:此处未找到儿童是我的代码,请帮助! 我是一个使用cocos2d的新开发人员,所以我无法找出是什么导致Xcode给我这个错误Iphone removeChildByTag:未找到子项错误,iphone,cocos2d-iphone,Iphone,Cocos2d Iphone,removeChildByTag:此处未找到儿童是我的代码,请帮助! 我是一个使用cocos2d的新开发人员,所以我无法找出是什么导致Xcode给我这个错误 //Life System CCSprite *Life3 = [CCSprite spriteWithFile:@"heart.png"]; Life3.position = ccp(210,200); CCSprite *Life2 = [CCSprite spriteWithFile:@
//Life System
CCSprite *Life3 = [CCSprite spriteWithFile:@"heart.png"];
Life3.position = ccp(210,200);
CCSprite *Life2 = [CCSprite spriteWithFile:@"heart.png"];
Life2.position = ccp(220,200);
CCSprite *Life1 = [CCSprite spriteWithFile:@"heart.png"];
Life1.position = ccp(230,200);
[self addChild:Life3];
[self addChild:Life2];
[self addChild:Life1];
if(Life == 2) {
[self removeChildByTag:Life3];
}
else if(Life == 1) {
[self removeChild:Life2];
[self removeChild:Life3];
}
else if(Life <= 0) {
[self removeChild:Life1];
[self removeChild:Life2];
[self removeChild:Life3];
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[MainMenu scene]]];
}
//生命系统
CCSprite*Life3=[CCSprite spriteWithFile:@“heart.png”];
Life3.position=ccp(210200);
CCSprite*Life2=[CCSprite spriteWithFile:@“heart.png”];
Life2.position=ccp(220200);
CCSprite*Life1=[CCSprite spriteWithFile:@“heart.png”];
寿命1.位置=ccp(230200);
[self-addChild:Life3];
[self-addChild:Life2];
[self-addChild:Life1];
如果(寿命=2){
[self-removeChildByTag:Life3];
}
否则如果(寿命==1){
[self-removeChild:Life2];
[self-removeChild:Life3];
}
否则,如果(Life在Life==2的条件中,它应该是removeChild,而不是removeChildByTag我已经用正确的方法发布了您的代码,可以通过标签删除child。
removeChildByTag
需要一个整数标记,而不是对象(在您的例子中是精灵)
CCSprite*Life3=[CCSprite spriteWithFile:@“heart.png”];
Life3.tag=3;
Life3.position=ccp(210200);
CCSprite*Life2=[CCSprite spriteWithFile:@“heart.png”];
Life2.tag=2;
Life2.position=ccp(220200);
CCSprite*Life1=[CCSprite spriteWithFile:@“heart.png”];
Life1.tag=1;
寿命1.位置=ccp(230200);
[self-addChild:Life3];
[self-addChild:Life2];
[self-addChild:Life1];
如果(寿命=2){
[自移式ChildByTag:3];
}
否则如果(寿命==1){
[自省儿童:2];
[自省儿童:1];
}
否则,如果(Life尝试将所有[self-removeChild:]或[self-removeChildbyTag:]替换为
[自远程child:Life1清理:是]
如果这也不起作用,我建议您在需要时只添加[self addChild:]。不要在开始时将所有三个生命都添加为孩子。因此代码将变成:
CCSprite *Life3 = [CCSprite spriteWithFile:@"heart.png"];
Life3.position = ccp(210,200);
CCSprite *Life2 = [CCSprite spriteWithFile:@"heart.png"];
Life2.position = ccp(220,200);
CCSprite *Life1 = [CCSprite spriteWithFile:@"heart.png"];
Life1.position = ccp(230,200);
if(Life == 2) {
[self addChild:Life2];
[self addChild:Life1];
}
else if(Life == 1) {
[self addChild:Life1];
}
else if(Life <= 0) {
[self addChild:Life3];
[self addChild:Life2];
[self addChild:Life1];
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[MainMenu scene]]];
}
CCSprite*Life3=[CCSprite spriteWithFile:@“heart.png”];
Life3.position=ccp(210200);
CCSprite*Life2=[CCSprite spriteWithFile:@“heart.png”];
Life2.position=ccp(220200);
CCSprite*Life1=[CCSprite spriteWithFile:@“heart.png”];
寿命1.位置=ccp(230200);
如果(寿命=2){
[self-addChild:Life2];
[self-addChild:Life1];
}
否则如果(寿命==1){
[self-addChild:Life1];
}
否则,如果(以什么方式生活?是否存在不同的错误,相同的错误?如果是相同的错误,请在您的项目中搜索removeChildByTag,并确保您是认真的,而不仅仅是removeChild
CCSprite *Life3 = [CCSprite spriteWithFile:@"heart.png"];
Life3.position = ccp(210,200);
CCSprite *Life2 = [CCSprite spriteWithFile:@"heart.png"];
Life2.position = ccp(220,200);
CCSprite *Life1 = [CCSprite spriteWithFile:@"heart.png"];
Life1.position = ccp(230,200);
if(Life == 2) {
[self addChild:Life2];
[self addChild:Life1];
}
else if(Life == 1) {
[self addChild:Life1];
}
else if(Life <= 0) {
[self addChild:Life3];
[self addChild:Life2];
[self addChild:Life1];
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[MainMenu scene]]];
}