Java Thread führt Methode nicht aus?


25.04.2020, 13:49

Code:

package game;

public class Play extends Thread{

   @Override

   public void run() {

      while(Var.Gamestart) {//Ist True habe ich getestet

         if(Var.Left) {//Ist auch True

            int a = 10;

            Var.setBackground1X(a);

         }

      }

   }

Die Methode will ich ausführen:

public static void setBackground1X(int wert) {

      Background1X += wert;

   }

}

}


25.04.2020, 13:54

Var erbt von nichts und ist public

4 Antworten

An dieser Stelle möchte ich diese Antwort von mir verlinken, die sich auf deine Var-Klasse bezieht: Java Var Klasse schlimm?

Auf kurz oder lang wird dies vermutlich auch des Übels Wurzel sein.

Wenn du deine Anwendung dementsprechend umstrukturiert hast und noch immer das Problem hast, wäre es nicht schlecht, mit einem Debugger einmal durchzulaufen, um zu prüfen, was an der Stelle genau passiert.

Dieser mehrteilige Artikel sollte dir im Übrigen mehr Informationen zu Threading liefern. Das Kapitel 14 aus Java ist auch eine Insel liefert ebenfalls Erklärungen zu dem Thema. Ich verlinke dies, da es sich um ein komplexes Thema handelt, um welches du bisher vermutlich mit statischen Elementen einfach drumherum schippern wolltest.

Wo setzt du "Var.Gamestart"?

Wie sieht die Klasse "Var" aus? Von welchen Klassen erbt sie?

Wie stellst du fest, dass die Methode nicht aufgerufen wird?

Und die ist in der public static class Var?

Hast du mal deinen Code für uns?

Woher ich das weiß:Hobby – Ich beschäftige mich in meiner Freizeit gerne mit PCs.

Mach doch mal in

public static void setBackground1X(int wert) {

      Background1X += wert;

   }

einen Breakpoint rein

0

Was möchtest Du wissen?