如果我在init函数之外定义,我无法删除子节点。我想删除在init方法之外定义的子节点。我在ccTouchEnded函数中使用以下代码来删除子项。
在ccTouchMoved function
。
sprite2 = CCSprite::create("circle1.png");
sprite2->setPosition(ccp(winwsize/3.2, winhsize/1.3));
this->addChild(sprite2, 1);
删除ccTouchEnded function
中的孩子。
this->removeChild(sprite2);
答案 0 :(得分:2)
您正在touchesMoved中创建精灵,因此每次触摸移动时都会创建精灵,并将其放置在上一个精灵上。你的变量sprite2将简单地指向最后创建的精灵。因此,当您在touchesEnded中删除子项时,只会删除最后一个精灵。尝试在touchesBegan中创建精灵并在touchesEnded中删除。