Hallo,
ich programmiere grade ein Spiel. Im Hauptthread wird bei einem bestimmten "Event" in einer extra Methode eine Art Berechnung durchgeführt um ein aktuelles Objekt festzustellen... Über die Referenz und dessen setter-Methode möchte ich einfach nur einen boolischen Wert ändern... Nur leider funktioniert das nicht. Ich hab mal debuggt und obwohl die Methode ordnungsgemäß ausgeführt und macht in dem Objekt die Änderung die sie soll, soviel ist sicher.
Allerdings verfällt die Änderung direkt wenn ich aus der Methode herausspringe... Da Code den Rahmen sprengen würde poste ich's mal Schemenhaft:
auch wenn ich direkt mit object1.setzteboolean (true) arbeite wird der wert nicht übernommen...
woran könnte das liegen? hat das unter umständen was mit dem thread zu tun???
ich programmiere grade ein Spiel. Im Hauptthread wird bei einem bestimmten "Event" in einer extra Methode eine Art Berechnung durchgeführt um ein aktuelles Objekt festzustellen... Über die Referenz und dessen setter-Methode möchte ich einfach nur einen boolischen Wert ändern... Nur leider funktioniert das nicht. Ich hab mal debuggt und obwohl die Methode ordnungsgemäß ausgeführt und macht in dem Objekt die Änderung die sie soll, soviel ist sicher.
Allerdings verfällt die Änderung direkt wenn ich aus der Methode herausspringe... Da Code den Rahmen sprengen würde poste ich's mal Schemenhaft:
Code:
public void run(){
berrechnewas();
...
}
public void berrechnewas (){
Referenz ref = null;
if (object1 != null){
ref = object1;
}else if (object2 != null){
ref = object2;
}
ref.setzeboolean (true) //wird ausgeführt und der boolean wird gestetz
// sobald ich nun im watch unter ref gucke ist der boolean allerdings noch false
}
auch wenn ich direkt mit object1.setzteboolean (true) arbeite wird der wert nicht übernommen...
woran könnte das liegen? hat das unter umständen was mit dem thread zu tun???