Hallo,
würde gerne eine Daisy's Garten 2 Clone in Java programmieren. Habe dieses grandiose Java Tutorial von Quaxli gefunden (in dem leider die Seitenzahlen fehlen ;-) ).
Bin soweit ziemlich gut zurecht gekommen, jedoch stecke ich bei einem Problem fest, bei dem ich mich einfach mal hier melden muss. Für die Spiel GUI verwende ich jede Menge JComponents. (JFrame, JMenuBar, JToolBar, BorderLayout, JScrollPane, JViewport...) Auf diese möchte ich nicht verzichten, aber denoch ein Hardware-Rendering für mein Spiel haben, weil es im Softwaremodus extrem langsam läuft. Die relativ großen Tiles und die Sprites bestehen alle aus PNG's mit Alpha Channels.
Jetzt habe ich versucht, wie im Tutorial, die Performance mit Canvas und VolatileImage zu verbessern. Das man AWT und Swing nicht mischen sollte ist mir klar, aber gibt es trotzdem eine Möglichkeit eine Hardwarebeschleunigung mit Swing zu verwenden?
Das JFrame habe ich nicht wie im Tutorial beschrieben durch Frame ersetzt, weil ich ja die JComponents alle brauche, deshalb wahrscheinlich dieser Fehler:
Grüße
SlippyStoat
PS: Finde es toll, das man hier Beiträge als Gast schreiben kann, aber da ich eine E-Mail Benachrichtigung wünsche, habe ich mich trotzdem mal angemeldet. :-D
würde gerne eine Daisy's Garten 2 Clone in Java programmieren. Habe dieses grandiose Java Tutorial von Quaxli gefunden (in dem leider die Seitenzahlen fehlen ;-) ).
Bin soweit ziemlich gut zurecht gekommen, jedoch stecke ich bei einem Problem fest, bei dem ich mich einfach mal hier melden muss. Für die Spiel GUI verwende ich jede Menge JComponents. (JFrame, JMenuBar, JToolBar, BorderLayout, JScrollPane, JViewport...) Auf diese möchte ich nicht verzichten, aber denoch ein Hardware-Rendering für mein Spiel haben, weil es im Softwaremodus extrem langsam läuft. Die relativ großen Tiles und die Sprites bestehen alle aus PNG's mit Alpha Channels.
Jetzt habe ich versucht, wie im Tutorial, die Performance mit Canvas und VolatileImage zu verbessern. Das man AWT und Swing nicht mischen sollte ist mir klar, aber gibt es trotzdem eine Möglichkeit eine Hardwarebeschleunigung mit Swing zu verwenden?
Das JFrame habe ich nicht wie im Tutorial beschrieben durch Frame ersetzt, weil ich ja die JComponents alle brauche, deshalb wahrscheinlich dieser Fehler:
Exception in thread "main" java.lang.IllegalStateException: Component must have a valid peer
at java.awt.Component$FlipBufferStrategy.createBuffers(Unknown Source)
at java.awt.Component$FlipBufferStrategy.<init>(Unknown Source)
at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at main.GamePanel.<init>(GamePanel.java:81)
at main.Main.<init>(Main.java:116)
at main.Main.main(Main.java:173)
Grüße
SlippyStoat
PS: Finde es toll, das man hier Beiträge als Gast schreiben kann, aber da ich eine E-Mail Benachrichtigung wünsche, habe ich mich trotzdem mal angemeldet. :-D
Zuletzt bearbeitet: