Geeigneter Weise zu zeichnen, um ein JPanel für 2D-Game-development?

Ich bin zu wollen, um ein 2D-Spiel, aber ich habe Probleme bei der Suche die beste und effizienteste Weg, um zu zeichnen auf einer 2D-Fläche/Leinwand mit einer BufferStrategy. Ich habe einen JFrame als Hauptfenster und zeichnen möchten, an die Oberfläche, dass. Ich würde gerne sehen, einige Beispiel-code, wie dies geschieht (ob das ein guter Weg, es zu tun) sowie andere Beispiele. Es wäre toll, wenn jemand könnte auch erklären, warum einige vor-und Nachteile, dies zu tun.

Ich bin zurzeit hinzufügen meine Zeichnung Klasse zu meinem JFrame mit " Rahmen.add(new Painter ()); " und dann das überschreiben der paintComponent-Methode. Das einzige problem habe ich mit diesem ist, es scheint nur diese Methode aufrufen, sobald.

dies ist mein Maler-Klasse:

public class Painter extends JPanel{

    public static Player player;

    public Painter() {
        player = new Player(300, 300);

    }

    public void paint(Graphics g) {
        player.x++;
        g.setColor(Color.white);
        g.fillRect(player.x, player.y, 32, 32);
    }

}
  • docs.oracle.com/javase/tutorial/2d/index.html
  • Und warum sollte es nennen es mehrmals? Wenn Sie möchten, eine animation, die Sie benötigen, um einen Faden, bewegt Ihr den Spieler und bittet swing-repaint der Maler in einer Schleife.
  • Denn ich möchte in der Lage sein, kontinuierlich zu zeichnen, um den Bildschirm, damit es zeigt, aktualisierte Spieler-position usw..
  • 1) Sie erwähnen paintComponent (richtig), im text aber, dass der code überschreibt paint (falsch). 2), es sei denn, auch das hinzufügen von Komponenten auf der Oberseite des rendering, verwenden Sie ein BufferedImage statt. Zeigen Sie es in einem label - & repaint der (Bild-und) Etikett, wenn erforderlich (wie in einer Schaukel Timer).
Schreibe einen Kommentar