Greenfoot removeObject funktioniert nicht, kennt sich wer aus?

...komplette Frage anzeigen

1 Antwort

deine Funktion getWorld() gibt es nicht in der Gifttraubenklasse: vielleicht kannst du mit Greenfoot.getWorld() drauf zugreifen (Greenfoot ist etwas her xD)

AllesSoKUHL 04.05.2016, 21:54

Ich habe die Traubenklasse ja auf der "Crabworld" (also der Unterklasse von der Klasse "World" ) erstellt, deswegen verstehe ich die Fehlermeldung nicht. Hab übrigens deinen Vorschlag ausprobiert mit "Greenfoot." , klappt leider auch nicht :( ....

0
Gastnr007 04.05.2016, 22:01
@AllesSoKUHL

ist deine Traube Unterklasse von der Welt? (macht für den Normalmenschen wenig Sinn, außer wenn das Spiel innerhalb der Traube ist)
deine Traube sollte sicherlich keine Welt sondern ein Actor sein, sonst könntest du .removeObject direkt anwenden, allerdings ist deine Traube dann ja kein Actor mehr, den du entfernen könntest

1
AllesSoKUHL 04.05.2016, 22:04
@Gastnr007

Also die Traube ist ein Actor, ja, aber spawnen lasse ich sie sozusagen indem ich den Code dafür in "CrabWorld" (was ja zu "World" gehört) schreibe

0
Gastnr007 04.05.2016, 22:06
@AllesSoKUHL

wenn du den Code direkt in Crabworld ausführst, kannst du einfach removeObject ausführen :) (denn du bist ja die Welt)

1
AllesSoKUHL 04.05.2016, 22:07
@Gastnr007

Hast du vielleicht den "Remove-Code" parat? Weil eben der will bei mir nicht funktionieren

0
Gastnr007 04.05.2016, 22:09
@AllesSoKUHL

du brauchst noch dein GrapeObjekt: also removeObject(getObjects(Grape.class).get(0));
das entfernt die erste hinzugefügte Grape aus der Welt

1
AllesSoKUHL 04.05.2016, 22:13
@Gastnr007

Geil! das hat schon einmal die Fehlermeldung behoben, vielen Dank! Heißt das aber, dass nur die allererste Grape entfernt wird? Wenn ja, wie könnte ich dafür sorgen, dass die folgenden auch wegkommen?

0
Gastnr007 04.05.2016, 22:15
@AllesSoKUHL

indem du statt dem oben einfach
removeObjects(getObjects(Grape.class)); nimmst :)

1
AllesSoKUHL 04.05.2016, 22:23
@Gastnr007

Ich hab das ganze mit "run" mal laufen lassen, aber irgendwie bleiben die dummen Trauben trotzdem da.... 

0
Gastnr007 05.05.2016, 07:32
@AllesSoKUHL

wenn es immer noch nicht funktioniert hat, dann nimm:
for(Grape g:getObjects(Grape.class)){
   removeObject(g);
}
das sollte eigentlich das gleiche wie removeObjects(getObjects(Grape.class)); sein...

0

Was möchtest Du wissen?