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

2016/3/3

find out the number of objects from the world

Heliox00 Heliox00

2016/3/3

#
What code I can dominate search for the number of object of a particular class from the code World? (I'm sorry for my bad english)
Super_Hippo Super_Hippo

2016/3/3

#
getObjects(NameOfTheClass.class).size();
Or when using it from an actor subclass:
getWorld().getObjects(NameOfTheClass.class).size();
Heliox00 Heliox00

2016/3/3

#
Thank you
Heliox00 Heliox00

2016/3/3

#
How/ Where exactly do I write this code in my source code? I need, in effect, the number that the system outputs as an integer.
Super_Hippo Super_Hippo

2016/3/3

#
The method will give you an integer. So you could write
int num = getObjects(NameOfTheClass.class).size();
to save the value in the variable num. Or you print it out like this:
System.out.println(""+getObjects(NameOfTheClass.class).size());
I don't know what exactly you want, but maybe that helps you.
Heliox00 Heliox00

2016/3/3

#
Thank you very much. That was exactly what I meant. My English is unfortunately quite right.
Heliox00 Heliox00

2016/3/3

#
Did get an error message (java.lang.NullPointerException) and that only since the Code. Do you happen to how I can fix this?
Super_Hippo Super_Hippo

2016/3/4

#
I don't know how this code could create a nullpointer exception. Does the error message really point to this line? Show the part of the code and the error message.
Heliox00 Heliox00

2016/3/4

#
Hab gesehen, dass du aus Deutschland kommst, aus dem Grund schreib ich jetzt in Deutsch weiter, da ich mich dadurch viel besser ausdrücken kann. Die Fehlermeldung "(java.lang.NullPointerException)" kommt erst nachdem ich diesen Code (int name = getWorld().getObjects(NameOfTheClass.class).size();) in den Quellcode eingegeben habe. Zudem funktioniert der Code an sich auch , wenn ich ihn in Zusammenhang mit system.out.print benutzte. Nur nicht wenn ich ihn zur deklaration einer Variablen nutze. Hast du zufällig eine Ahnung woran das liegen könnte?
Super_Hippo Super_Hippo

2016/3/4

#
Nun, die einzige Möglichkeit, die ich sehe, ist, dass 'getWorld()' null zurückgibt. Das wäre der Fall, wenn sich das Objekt noch nicht oder nicht mehr in der Welt befindet. Schau mal nach, ob das Objekt irgendwo vorher (act-Methode durchgehen) von der Welt entfernt wird, also so was wie 'getWorld().removeObject(this)' ausgeführt wird.
Heliox00 Heliox00

2016/3/4

#
Hab es jetzt nochmal versucht, indem ich die komplette act Methode auskommentiert habe. Hat leider trotzdem nicht funktioniert. Kann aber gut sein das es noch einen anderen Prozess gibt wodurch mein Object erst später hinzugefügt, da ich den Code nicht von Anfang an geschrieben habe (Schulprojekt) kann ich auch nicht ganz genau sagen was da passiert. Trotzdem vielen dank das du dir Zeit genommen hast für mein Problem .
Super_Hippo Super_Hippo

2016/3/5

#
Wenn du den Code der Klasse zeigst oder zumindest das relevante, könnte ich dir vielleicht besser weiterhelfen. ;)
Heliox00 Heliox00

2016/3/5

#
Hab meinen Fehler jetzt gefunden auf Grundlage von deinem Tip (mit der act Methode) funktioniert jetzt alles super. Vielen dank für die Hilfe ^^
You need to login to post a reply.