Я создал no sprites и добавил их к сцене с тем же именем.Я создал no sprites и добавил их на сцену с той же ссылкой, и теперь, как я могу удалить их с помощью тегов?
Теперь я хочу удалить все те, даже те, у кого нет ссылки. Как я могу это достичь.
Без использования removeChildBytag();
или без использования тегов.
void Science::onBallMovement(cocos2d::Ref* pSender){
auto sp = (Sprite*)pSender;
v1 = sp->getPosition();
if (v1 == v2) {
return;
}
if(v1!=v2) {
if (sp->getTag()==1) {
s = Sprite::create("Dot.png");
}
if (sp->getTag()==2) {
s = Sprite::create("BlueDot.png");
}
s->setPosition(v1);
s->autorelease();
this->addChild(s);
}
v2 = v1;
}
void Science::update(float delta){
if (setting) {
this->onBallMovement(spr);
this->onBallMovement(spr1);
}
}
Переопределелив метод обновления класса узлов, я звоню выше неоднократно и на основе текущей позиции моего спрайта, который перемещается случайным образом, я создаю трекер пути. Но теперь, я хочу удалить его на основе выбора пользователя, как я могу это сделать?
неопределенный о C++, но вот как я сделал бы это в obj-c. Я бы просто удалил контейнерный узел, когда это требует логика, и в нем метод 'onExit', я бы перебирал все его дочерние элементы и удалял их из родителя с очисткой. – YvesLeBorg
например, в объективе-c. для (int i = 0; i <10; i ++) { – Mahesh
например, в объективе-c. для (int i = 0; i <10; i ++) { Box * box1 = [[Box alloc] init]; } [коробка1 релиз]; если я напишу код примерно так в obj-c. Затем, как я могу убедиться, что все объекты удалены. Обычно он удаляет только последний, где остальные не отображаются. – Mahesh