Hi,
habe ein kleines Spiel mit Hilfe eines Tutorials erstellt und wollte jetzt nachträglich noch etwas rumspielen. Hab mir gedacht ich könnte das Ding mal im Fullscreen Mode laufen lassen. Allerdings bekomm ich da nur ein schwarzes Bild mit Mauszeiger. Maus kann ich bewegen, allerdings wird nicht bis zum Bildschirmrand. Liegt möglicherweise auch an der Auflösung von 600x800. So, hier mal der Code-Ausschnitt:
Das ganze befindet sich im Konstruktor der Klasse, die von Canvas abgeleitet ist.
Also : WIDTH und HEIGHT des Canvas liefern mir den Wert 1. Habe auch schon
ausprobiert.
Mit
funktionierts, allerdings ist das dann nur die Desktop Auflösung oder?
Ich zeichne dann die Inhalte in der paint() Methode.
Kann mir wer weiterhelfen?
[Edit]
Hätte gleich noch ne andere Frage und will jetzt keinen neuen Beitrag aufmachen.
Also, hab noch ein bissl rumgespielt und mal mit
opengl aktiviert, allerdings bekomm ich da auch nur ein schwarzes Bild. Reicht das dann nicht wenn
ich einfach Graphics2D benutze? Was kann da noch falsch sein?
Und noch ne Frage zum Schluss:
Wenn ich ein 2D Spiel programmieren will mit Hardwareunterstützung, benutze ich dann Java 2D (also so wie oben erwähnt mit Graphics2D und dann Opengl einschalten(wenns denn so überhaupt funktioniert) oder programmiert man dann mit JOGL?
Für mich als Einsteiger ist JOGL noch etwas kompliziert. Ich frage mich halt obs nötig ist für 2D Spiele. Habe jetzt schon mehrere Spiele Tutorials durchgemacht (ganz normal JavaSE), aber irgendwie läuft das nie so richtig flüssig.
habe ein kleines Spiel mit Hilfe eines Tutorials erstellt und wollte jetzt nachträglich noch etwas rumspielen. Hab mir gedacht ich könnte das Ding mal im Fullscreen Mode laufen lassen. Allerdings bekomm ich da nur ein schwarzes Bild mit Mauszeiger. Maus kann ich bewegen, allerdings wird nicht bis zum Bildschirmrand. Liegt möglicherweise auch an der Auflösung von 600x800. So, hier mal der Code-Ausschnitt:
Java:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
Frame f = new Frame(gd.getDefaultConfiguration());
gd.setFullScreenWindow(f);
if (gd.isDisplayChangeSupported()) {
gd.setDisplayMode(new DisplayMode(800, 600, gd.getDisplayMode().getBitDepth(),
gd.getDisplayMode().getRefreshRate()));
}
f.add(this);
f.setBackground(Color.black);
f.pack();
f.setVisible(true);
Das ganze befindet sich im Konstruktor der Klasse, die von Canvas abgeleitet ist.
Also : WIDTH und HEIGHT des Canvas liefern mir den Wert 1. Habe auch schon
Java:
w = gd.getDisplayMode().getWidth();
h = gd.getDisplayMode().getHeight();
this.setPreferredSize(new Dimension(w, h));
ausprobiert.
Mit
Java:
f.setExtendedState(Frame.MAXIMIZED_BOTH);
Ich zeichne dann die Inhalte in der paint() Methode.
Kann mir wer weiterhelfen?
[Edit]
Hätte gleich noch ne andere Frage und will jetzt keinen neuen Beitrag aufmachen.
Also, hab noch ein bissl rumgespielt und mal mit
Java:
System.setProperty("sun.java2d.opengl", "true");
ich einfach Graphics2D benutze? Was kann da noch falsch sein?
Und noch ne Frage zum Schluss:
Wenn ich ein 2D Spiel programmieren will mit Hardwareunterstützung, benutze ich dann Java 2D (also so wie oben erwähnt mit Graphics2D und dann Opengl einschalten(wenns denn so überhaupt funktioniert) oder programmiert man dann mit JOGL?
Für mich als Einsteiger ist JOGL noch etwas kompliziert. Ich frage mich halt obs nötig ist für 2D Spiele. Habe jetzt schon mehrere Spiele Tutorials durchgemacht (ganz normal JavaSE), aber irgendwie läuft das nie so richtig flüssig.
Zuletzt bearbeitet: