如果我在init之外定义,如何在ccTouchEnded中删除子节点

时间:2014-08-27 09:53:07

标签: c++ ios cocos2d-x

如果我在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);

1 个答案:

答案 0 :(得分:2)

您正在touchesMoved中创建精灵,因此每次触摸移动时都会创建精灵,并将其放置在上一个精灵上。你的变量sprite2将简单地指向最后创建的精灵。因此,当您在touchesEnded中删除子项时,只会删除最后一个精灵。尝试在touchesBegan中创建精灵并在touchesEnded中删除。