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

C++ 如果在init外部定义,如何删除ccTouchEnded中的子项,c++,ios,cocos2d-x,C++,Ios,Cocos2d X,如果在init函数外部定义,则无法删除child。我想删除在init方法之外定义的子对象。我在ccTouchEnded函数中使用以下代码来删除子对象 在ccTouchMoved函数中创建精灵 sprite2 = CCSprite::create("circle1.png"); sprite2->setPosition(ccp(winwsize/3.2, winhsize/1.3)); this->addChild(sprite2, 1); this->removeCh

如果在init函数外部定义,则无法删除child。我想删除在init方法之外定义的子对象。我在ccTouchEnded函数中使用以下代码来删除子对象

ccTouchMoved函数中创建精灵

 sprite2 = CCSprite::create("circle1.png");
 sprite2->setPosition(ccp(winwsize/3.2, winhsize/1.3));
 this->addChild(sprite2, 1);
 this->removeChild(sprite2);
ccTouchEnded函数中删除子项

 sprite2 = CCSprite::create("circle1.png");
 sprite2->setPosition(ccp(winwsize/3.2, winhsize/1.3));
 this->addChild(sprite2, 1);
 this->removeChild(sprite2);

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

您能发布更多代码吗?难以诊断。sprite2=CCSprite::create(“circle1.png”);sprite2->setPosition(ccp(winwsize/3.2,winhsize/1.3));此->添加子对象(sprite2,1);C++是区分大小写的,所以<代码> SpReTe2< /Cuff>和 SpReTe2是两个不同的事情。