如果我在init外部定义,如何删除ccTouchEnded中的子项

How to remove child in ccTouchEnded if i defined outside init

本文关键字:删除 ccTouchEnded 何删除 init 外部 定义 如果      更新时间:2023-10-16

如果我在init函数之外定义,我将无法删除子函数。我想删除在init方法之外定义的child。我在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);

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