Ich programmiere ein 2D-Spiel und frage mich, wie man das hat, wenn jemand die Größe des Fensters ändert, wird es alle Größen ändern, um es gleich zu machen (im Vergleich zur aktuellen Fenstergröße). Zum Beispiel habe ich einen Standard "TILEWIDTH", wie könnte ich es machen, dass wenn jemand das Fenster in der Größe verändert, um es größer zu machen, würde es auch die 'TILEWIDTH' größer machen? Im Moment in meiner Launcher-Klasse (mit der Main-Methode) erstellt es nur eine neue Anzeige mit einer bestimmten Pixel Breite und Höhe (Wenn Sie die Größe des Fensters ändern, erzeugt es nur einen blinkenden schwarzen/grauen Bereich um die Spielanzeige).Java Window - Größenanpassung
Das ist meine Anzeige Klasse (I erstellen Sie eine neue Anzeige im Startklasse im Hauptverfahren):
package me.chickenpillow.game.display;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Display {
private JFrame frame;
private Canvas canvas;
private String title;
private int width, height;
public Display(String title, int width, int height) {
this.title = title;
this.width = width;
this.height = height;
createDisplay();
}
private void createDisplay() {
frame = new JFrame(title);
frame.setSize(width, height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
canvas = new Canvas();
canvas.setPreferredSize(new Dimension(width, height));
canvas.setMaximumSize(new Dimension(width, height));
canvas.setMinimumSize(new Dimension(width, height));
canvas.setFocusable(false);
frame.add(canvas);
frame.pack();
}
public Canvas getCanvas() {
return canvas;
}
public JFrame getFrame() {
return frame;
}
}
@ Rosário Pereira Fernandes Ich habe den Beitrag mit dem Code –