Ich habe ein Nein von Sprites erstellt und sie zu der Szene mit dem gleichen Namen hinzugefügt.Ich habe ein Nein von Sprites erstellt und sie mit der gleichen Referenz zur Szene hinzugefügt und nun, wie kann ich sie ohne Verwendung von Tags entfernen?
Jetzt möchte ich alle diese entfernen, auch die ohne irgendeine Referenz. Wie kann ich das erreichen?
Ohne Verwendung removeChildBytag();
oder ohne Verwendung von Tags.
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);
}
}
Durch die Update-Methode des Knotens Klasse überschreiben, nenne ich die oben wiederholt und auf der aktuellen Position meines Sprite basiert, die zufällig bewegt, ich bin ein Tracker Weg zu schaffen. Aber jetzt möchte ich es basierend auf der Benutzerauswahl entfernen, wie kann ich es tun?
unsicher über C++, aber hier ist, wie ich das in obj-c tun würde. Ich würde nur den Container-Knoten entfernen, wenn Logik es erfordert, und in seiner "onExit" -Methode würde ich alle seine untergeordneten Elemente iterieren und sie vom übergeordneten entfernen, mit Bereinigung. – YvesLeBorg
zum Beispiel in Ziel-c. für (int i = 0; i <10; i ++) { – Mahesh
zum Beispiel in Ziel-c. für (int i = 0; i <10; i ++) { Box * box1 = [[Box allokieren] init]; } [box1 release]; wenn ich so etwas in obj-c Code schreibe. Dann, wie kann ich sicherstellen, dass alle Objekte entfernt werden. Gewöhnlich entfernt es nur das letzte, wobei die anderen nicht referenziert werden. – Mahesh