mardi 27 janvier 2015
2D-Grafik repaint()-Aufruf. Und nichts geschieht.
Posted on 08:13 by verona
Hi,
ich arbeite mich, wie ich bereits in einem anderen Thread geschrieben habe, gerade in AWT und Swing ein und versuche ein kleines Spiel zu programmieren. Leider stehe ich schon wieder vor einem Problem, das könnte in nächster Zeit wohl häufiger vorkommen...
Ich habe bereits ein grafisches Spielfeld (16*16 Felder) aufgebaut, die Spielfigur gezeichnet und den KeyListener programmiert, sodass die Figur sich auf bestimmten Elementen bewegen kann, zu anderen jedoch keinen Zutritt hat. Es funktioniert eigentlich auch alles wunderbar, das Spielfeld wird gezeichnet, der KeyListener berechnet die richtigen Koordinaten bei Tastendruck etc. Leider bleibt die Spielfigur aber, wenn sie sich eigentlich bewegen sollte, an ihrer Position stehen.
Die Funktion repaint() müsste an der Stelle, an der ich sie stehen habe, eigentlich aufgerufen werden (ich habe es mit einem System.out.println() an derselben Stelle getestet). Trotzdem bleibt das Bild unverändert. Woran kann das liegen? Bzw. was genau macht die Funktion repaint eigentlich? Die Figur wird mit Hilfe von drawPlayer() gezeichnet, was wiederum über paintComponent() aufgerufen wird. Müsste repaint() drawComponent() nicht neu auslösen?
Vielleicht kann mir hier jemand weiterhelfen, würde mich sehr freuen.
Gruß
Stephan
ich arbeite mich, wie ich bereits in einem anderen Thread geschrieben habe, gerade in AWT und Swing ein und versuche ein kleines Spiel zu programmieren. Leider stehe ich schon wieder vor einem Problem, das könnte in nächster Zeit wohl häufiger vorkommen...
Ich habe bereits ein grafisches Spielfeld (16*16 Felder) aufgebaut, die Spielfigur gezeichnet und den KeyListener programmiert, sodass die Figur sich auf bestimmten Elementen bewegen kann, zu anderen jedoch keinen Zutritt hat. Es funktioniert eigentlich auch alles wunderbar, das Spielfeld wird gezeichnet, der KeyListener berechnet die richtigen Koordinaten bei Tastendruck etc. Leider bleibt die Spielfigur aber, wenn sie sich eigentlich bewegen sollte, an ihrer Position stehen.
Die Funktion repaint() müsste an der Stelle, an der ich sie stehen habe, eigentlich aufgerufen werden (ich habe es mit einem System.out.println() an derselben Stelle getestet). Trotzdem bleibt das Bild unverändert. Woran kann das liegen? Bzw. was genau macht die Funktion repaint eigentlich? Die Figur wird mit Hilfe von drawPlayer() gezeichnet, was wiederum über paintComponent() aufgerufen wird. Müsste repaint() drawComponent() nicht neu auslösen?
Vielleicht kann mir hier jemand weiterhelfen, würde mich sehr freuen.
Gruß
Stephan
2D-Grafik repaint()-Aufruf. Und nichts geschieht.
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire