This site requires JavaScript, please enable it in your browser!
Greenfoot back
Asoraso
Asoraso wrote ...

2014/4/29

Code to reset all objeckts

Asoraso Asoraso

2014/4/29

#
Suche nach einem Code der alle Objekte auf einer Stelle im Roboterszenario löscht Danke schon mal im Vorraus
Asoraso Asoraso

2014/4/29

#
Search for some code that reset all objeckts on the local position of some roboter
danpost danpost

2014/4/29

#
Asoraso wrote...
Search for some code that reset all objeckts on the local position of some roboter
Please explain in more detail as to what you want -- 'local position of some roboter' is vague.
Asoraso Asoraso

2014/5/4

#
So I give the Roboter that ability to spawn random on the map and if there is some other objekt it should disapere
danpost danpost

2014/5/4

#
Asoraso wrote...
So I give the Roboter that ability to spawn random on the map and if there is some other objekt it should disapere
Still being very vague. Not showing any code.
AIMrOrange AIMrOrange

2014/5/5

#
Also möchtest du das Objekt, sofern vorhanden, löschen, das sind an der Stelle befindet, an der dein Roboter gerade zufällig spawnt. Habe ich das richtig verstanden? Sollte das der Fall sein, schlage ich dir die Methode
1
getOneIntersetingObject(DeinObjekt.class)
vor, die sollte bei deinem Roboter aufgerufen werden, um zu überprüfen, ob er ein Objekt berührt. Um dieses Objekt dann zu löschen kannst du beispielsweise so arbeiten:
1
2
3
4
5
if(getOneIntersectingObject(Beispiel.class)!=null)
{
Beispiel beispiel = (Beispiel) getOneIntersectingObject(Beispiel.class);
getWorld().removeObject(beispiel);
}
Mit (Beispiel) castest du den Rückgabewert von getOneIntersectingObject() auf ein Objekt der Klasse Beispiel. Alternativ kannst du anstatt getWorld().removeObject(beispiel); auch beispiel.remove() aufrufen, sofern diese Methode dort existiert ;)
erdelf erdelf

2014/5/5

#
davon ausgehend dass auch mehrere Objekte dort stehen können wäre es besser das hier zu benutzen
1
getWorld().removeObjects(getIntersectingObjects(Beispiel.class));
wenn du nicht nur objekte einer klasse sondern alle entfernen möchtest
1
getWorld().removeObjects(getIntersectingObjects(null));
AIMrOrange AIMrOrange

2014/5/5

#
genau, mit der Besonderheit dass diese Form der Implementierung einen error zurückgibt, wenn es kein object intersected. In diesem Fall würde removeObjects() keine Objekte finden und möglicherweise einen Fehler zurückgeben, ich bin mir aber nicht 100% sicher^^ Es ist auf jeden Fall sicherer, erst auf vorhandene Objekte zu überprüfen ;)
erdelf erdelf

2014/5/5

#
ich habs mal ausprobiert und es hat keine fehler gegeben ^^ aber ist natürlich sicherer
Asoraso Asoraso

2014/5/6

#
Danke Leute hat echt mir echt geholfen und ich bekomme mit dem Code: getWorld().removeObjects(getIntersectingObjects(null)); keine Error Meldung, falls da kein Objekt ist.
You need to login to post a reply.