Tastatur funktioniert nicht

Pumbaaa

Neues Mitglied
Hey Com,
Ich muss gerade für die Schule nen Spiel, PingPong, schreiben.
Dafür hab ich nun 2 Klassen, einmal das Menu mit den Buttons zum starten und einmal das Spiel allgemein.
Wenn ich das Spiel mit dem Menu aufrufe, startet das Spiel zwar, ich komm zur Namenseingabe etc., aber wenn ich dann mit der Tastatur den Schläger bewegen will, hängt sich das Spiel auf.
Wenn ich jetzt aber nur die Klasse PVP, also Player vs Player, starte, funktionieren die Schläger einwandfrei.
Hier mal ein Ausschnitt der Quelltexte:
Menu:
Java:
public class Menu extends EBAnwendung
{
    Knopf ButtPvp;
    PVP PVP;
[...]
     public Menu()
    {
        ButtPvp = new Knopf(100,200,200,50,"Player VS Player");
        ButtPvp.setzeBearbeiterGeklickt("startPVP");
    }
[...]
    public void startPVP() throws IOException
    {
        PVP = new PVP();
    }
[...]
}

PVP:
Java:
[...]
while(true){
            if(dieTastatur.wurdeGedrueckt())
            {
                switch(dieTastatur.zeichen())
                {
                    case'w': case'W':
                    {
                        if(yPosr1 != 60){
                            Pen.radiere();
                            Pen.bewegeBis(0, yPosr1);
                            Pen.zeichneRechteck(20,lenghP);
                            yPosr1 -= 10;
                            Pen.normal();
                            Pen.bewegeBis(0, yPosr1);
                            Pen.zeichneRechteck(20,lenghP);
                        }
                        break;
                    }
                    case's': case'S':
                    {
                        if(yPosr1 != 490 - lenghP){
                            Pen.radiere();
                            Pen.bewegeBis(0, yPosr1);
                            Pen.zeichneRechteck(20,lenghP);
                            yPosr1 += 10;
                            Pen.normal();
                            Pen.bewegeBis(0, yPosr1);
                            Pen.zeichneRechteck(20,lenghP);
                        }
                        break;
                    }
                    case Zeichen.PFEILOBEN :
                    {
                        if(yPosr2 != 60){
                            Pen.radiere();
                            Pen.bewegeBis(730, yPosr2);
                            Pen.zeichneRechteck(20,lenghP);
                            yPosr2 -= 10;
                            Pen.normal();
                            Pen.bewegeBis(730, yPosr2);
                            Pen.zeichneRechteck(20,lenghP);
                        }
                        break;
                    }
                    case Zeichen.PFEILUNTEN :
                    {
                        if(yPosr2 != 490 - lenghP){
                            Pen.radiere();
                            Pen.bewegeBis(730, yPosr2);
                            Pen.zeichneRechteck(20,lenghP);
                            yPosr2 += 10;
                            Pen.normal();
                            Pen.bewegeBis(730, yPosr2);
                            Pen.zeichneRechteck(20,lenghP);
                        }
                        break;
                    }
                    
                }
                dieTastatur.weiter();
            }
                    Clock.warte(10);
        }
[...]

Hoffe ihr könnt mir helfen,
Mfg. Pumbaaa
 

Blakh

Bekanntes Mitglied
Ich vermute, dass du in irgendeiner Schleife festhängst, welche im im EDT läuft. Vorausgesetzt du verwendest überhaupt Swing. Mehr kann ich dazu nicht sagen, da dein Codeausschnitt nicht aussagekräftig ist.
 

Pumbaaa

Neues Mitglied
Würde es helfen, wenn ich den kompletten Quelltext poste?
Bin noch Java Anfänger, deshalb weiß ich jetzt nich so genau, was du meinst :D
Hier mal nen Link:
Pong
Wäre echt nett, wenn du mal drüberschauen würdest.
Mfg
 
D

Dow Jones

Gast
Das Problem ist, das deine endlos while-Schleife in der Klasse PVP in einer Methode läuft, die vom Konstruktor aufgerufen wird. Sobald du mit
Java:
	PVP = new PVP();
ein PVP-Objekt instantiierst wird der Konstruktor der Klasse PVP aufgerufen, der wiederum ruft die Methode playPVP auf, und dort läuft die Endlosschleife. Dadurch wird das "konstruieren" des PVP Objekts natürlich niemals fertig, und der normale Programmfluß wird nicht weiter fortgeführt. Bei der anderen Klasse, PVN, klappt das (noch), da dessen playPVN-Methode (noch) leer ist.

Du wirst wohl nicht drum herum kommen das ganze etwas umzuschreiben. Ad hock fallen mir dazu zwei Möglichkeiten ein:
1) Du implementierts PVP und PVN als Threads. Dann kannst du playPVP/playPVN in der run-methode der Threads aufrufen und das ganze läuft parallel zum restlichen Programmfluß.
2) Du entfernst die Whileschleifen aus playPVP/playPVN und schreibst die Methoden so um, das sie nur bei bestimmten Ereignissen aufgerufen werden (z.B. wenn eine Taste gedrückt wurde oder wenn ein Timer abgelaufen ist). Nachdem das Ereignis abgearbeitet wurde wird die Methode wieder verlassen und der normale Programmfluß wird forgesetzt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
S Tastatur input lesen Java Basics - Anfänger-Themen 7
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
T Tastatur mit robot ß ^ und @ simulieren Java Basics - Anfänger-Themen 4
N Tastatur simulieren Java Basics - Anfänger-Themen 4
T Tastatur angeschlossen? Java Basics - Anfänger-Themen 3
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
H Tastatur.wurdeGedrueckt() macht nicht das, was ich will :/ Java Basics - Anfänger-Themen 2
T relais über virtuelle tastatur ansprechen Java Basics - Anfänger-Themen 6
S Text über Tastatur eingeben und ausgeben Java Basics - Anfänger-Themen 6
S Tastatur zuweisungen Java Basics - Anfänger-Themen 3
F Frage zu amerikanischer Tastatur Java Basics - Anfänger-Themen 9
E Tastatur Java Basics - Anfänger-Themen 3
E auf Tastatur reagieren Java Basics - Anfänger-Themen 8
D Datentypen SUM-Kern Tastatur Hotkey Java Basics - Anfänger-Themen 2
H Problem mit Tastatur Befehl Java Basics - Anfänger-Themen 11
P Eingabe von Tastatur Java Basics - Anfänger-Themen 4
P Problem mit der Tastatur Java Basics - Anfänger-Themen 31
G Strings von Tastatur einlesen und in ArrayList speichern Java Basics - Anfänger-Themen 12
Spin Von der Tastatur einlesen grafisch Java Basics - Anfänger-Themen 2
T Tastatur Tasten Senden Java Basics - Anfänger-Themen 4
Misti Eingabe Tastatur bzw. Datei Java Basics - Anfänger-Themen 6
G Zu Laufzeit von Tastatur einlesen Java Basics - Anfänger-Themen 11
S Von der Tastatur eingelesene Strings miteinander vergleichen Java Basics - Anfänger-Themen 4
J Tastatur-Puffer leeren Java Basics - Anfänger-Themen 3
A JTable nimmt eingaben von tastatur nicht an? Java Basics - Anfänger-Themen 2
M Tastatur.leseZahl(); geht nicht in Methoden ? Java Basics - Anfänger-Themen 3
M Fokus mit Maus und Tastatur Java Basics - Anfänger-Themen 5
M Eclipse --> Befehl: "Tastatur.leseKommazahl();" Java Basics - Anfänger-Themen 6
V Tastatur Abfrage im Lisener für eine Auswahl üder Textfeld Java Basics - Anfänger-Themen 8
N Tastatur direkt einlesen (ohne Enter) Java Basics - Anfänger-Themen 3
B Tastatur abfangen Java Basics - Anfänger-Themen 11
D Unsichtbar von der Tastatur einlesen Java Basics - Anfänger-Themen 7
B Eingabe von Tastatur Java Basics - Anfänger-Themen 2
B import class.tastatur Java Basics - Anfänger-Themen 2
E Array ueber Tastatur einlesen Java Basics - Anfänger-Themen 2
I einen text von tastatur in array einlesen und auch ausgeben Java Basics - Anfänger-Themen 1
G Eine ganze Zeile von der Tastatur einlesen! Java Basics - Anfänger-Themen 2
M Ein Zeichen von der Tastatur einlesen Java Basics - Anfänger-Themen 6
M Programm soll n Zahlen von der Tastatur lesen(Mittelwert) Java Basics - Anfänger-Themen 8
S tastatur ungepuffert abfragen Java Basics - Anfänger-Themen 3
D Nochmal zu den dummen Eingaben über Tastatur Java Basics - Anfänger-Themen 15
M Maus und Tastatur Java Basics - Anfänger-Themen 5
F Tastatur in Java Java Basics - Anfänger-Themen 12
G Maus+Tastatur aktionen simulieren? Java Basics - Anfänger-Themen 5
D Ein Wort einlesen über Tastatur und wieder ausgeben Java Basics - Anfänger-Themen 6
T Tastatur Java Basics - Anfänger-Themen 2
B Tastatur eingaben abfragen und dann in Argumente zerlegen..? Java Basics - Anfänger-Themen 8
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben