Frage von zockerpaul3000, 13

BlueJ - mehrere Schleifen gleichzeitig?

Hallo, wie kann ich in BlueJ mehrere while-Schleifen gleichzeitig laufen lassen? Ich möchte, dass man ein Objekt mit wasd steuern kann. Für jede Taste habe ich eine eigene while-Schleife erstellt, aber man kann die Tasten nur in der Reihenfolge der Schleifen anwenden. Deswegen möchte ich alle gleichzeitig laufen lassen, sodass man die Tasten in einer beliebigen Reihenfolge anwenden kann.

Bislang habe ich:

        while (!(tast.istGedrueckt('a')))
            {f.dreheDich(1,0,0,0,0,0);
            Sys.warte(100);
        }
        }
        
   {while (!(tast.istGedrueckt('w')))
            {f.dreheDich(0,-1,0,0,0,0);
            Sys.warte(100);
            
            }
            while (!(tast.istGedrueckt('w')))
            {f.dreheDich(0,-1,0,0,0,0);
            Sys.warte(100);
            }
    }
    {while (!(tast.istGedrueckt('d')))
            {f.dreheDich(-1,0,0,0,0,0);
            Sys.warte(100);
           }
           while (!(tast.istGedrueckt('d')))
            {f.dreheDich(-1,0,0,0,0,0);
            Sys.warte(100);
           }
    }
    {while (!(tast.istGedrueckt('s')))
            {f.dreheDich(0,1,0,0,0,0);
            Sys.warte(100);
        }
        while (!(tast.istGedrueckt('s')))
            {f.dreheDich(0,1,0,0,0,0);
            Sys.warte(100);
        }
     
    

Klammern etc. sind alle richtig. (Ich weiß, dass hier welche fehlen) Ich möcht keine Verbesserungen, sondern einfach nur Wissen wie man alles gleichzeitig laufen lassen kann.

Danke im Vorraus!

Antwort
von christi12345, 5

so funktioniert das gar nicht.

Java ist bei mir schon länger her, also wie genau es geht, kann ich dir nicht sagen,

aber du musst, wenn eine Taste gedrückt eine boolean auf true setzen und wenn sie losgelassen wird, wieder auf false.

Das laufen muss dann immer passieren, wenn die Boolean auf true ist.

Also die Bewegung nicht in der Tastenabfrage drin.

Informier dich am besten genau über den Keylistener

Keine passende Antwort gefunden?

Fragen Sie die Community