Das Thema ist zwar schon mehrfach angesprochen worden, aber eine abschließende Antwort konnte ich trotz längerer Suche (überwiegend hier in diesem wunderbaren Forum ) nicht finden.
Verstanden habe ich Folgendes: Java selbst hatte nie das Augenmerk auf Spieleentwicklung gehabt, sowohl AWT als auch Swing sind für GUIs gedacht. AWT ermöglicht mir Zugriff auf "schwergewichtige" Systemkomponenten (daher ist es nicht so umfangreich, weil aufgrund der angestrebten Plattformunabhängigkeit nur solche Komponenten möglich sind, die sich alle Plattformen teilen), Swing hingegen bietet mir vollständig in Java implementierte "leichtgewichtige" Komponenten und ist deshalb umfangreicher und sieht überall exakt gleich aus.
Nun habe ich eh nicht vor, bereits existierende Komponenten zu verwenden, sondern alles zu Fuß zu machen, daher meine einzige Anforderung an Java ist eine bemalbare Oberfläche. Da jetzt Swing auf AWT teilweise aufbaut (JFrame erbt von Frame), dachte ich mir, dass ich auf die zusätzlichen Features verzichten kann, obwohl immer wieder gesagt wird, dass man AWT vermeiden sollte, es sei alt und nicht mehr modern (aber genau wegen dieser Eigenschaft als Basis glaube ich nicht, dass es "verschwinden" wird). Quaxli benutzt in seinem Tutorial Swing (an dieser Stelle gleich ein Dankeschön dafür), aber ist das wirklich schneller als AWT (beim Spiel "Cell Invaders" schreibt der Autor, er benutzt nur AWT und setzt jedes Pixel einzeln, und das Spiel läuft absolut flüssig und die Grafik ist genial, obwohl es anscheinend sehr viel Rechenleistung frisst)? Und wie komme ich am einfachsten (mit möglichst elementaren Mitteln) an eine Leinwand (Canvas), zum Beispiel empfinde ich es als unnötig, ein Frame (mit Rahmen (etc.)!) zu erstellen, wenn ich eh in den Vollbildmodus wechseln möchte?
Vielen Dank schon mal für Antworten!
PS: Fertige Bibliotheken wie LWJGL will ich zumindest anfangs nicht verwenden, einerseits wegen des Lerneffekts und andererseits gebe ich mich mit "simplerer" Grafik zufrieden, meine Zeit investiere ich lieber in ein schönes Spiel anstatt eine zeitgemessene Grafik!
Verstanden habe ich Folgendes: Java selbst hatte nie das Augenmerk auf Spieleentwicklung gehabt, sowohl AWT als auch Swing sind für GUIs gedacht. AWT ermöglicht mir Zugriff auf "schwergewichtige" Systemkomponenten (daher ist es nicht so umfangreich, weil aufgrund der angestrebten Plattformunabhängigkeit nur solche Komponenten möglich sind, die sich alle Plattformen teilen), Swing hingegen bietet mir vollständig in Java implementierte "leichtgewichtige" Komponenten und ist deshalb umfangreicher und sieht überall exakt gleich aus.
Nun habe ich eh nicht vor, bereits existierende Komponenten zu verwenden, sondern alles zu Fuß zu machen, daher meine einzige Anforderung an Java ist eine bemalbare Oberfläche. Da jetzt Swing auf AWT teilweise aufbaut (JFrame erbt von Frame), dachte ich mir, dass ich auf die zusätzlichen Features verzichten kann, obwohl immer wieder gesagt wird, dass man AWT vermeiden sollte, es sei alt und nicht mehr modern (aber genau wegen dieser Eigenschaft als Basis glaube ich nicht, dass es "verschwinden" wird). Quaxli benutzt in seinem Tutorial Swing (an dieser Stelle gleich ein Dankeschön dafür), aber ist das wirklich schneller als AWT (beim Spiel "Cell Invaders" schreibt der Autor, er benutzt nur AWT und setzt jedes Pixel einzeln, und das Spiel läuft absolut flüssig und die Grafik ist genial, obwohl es anscheinend sehr viel Rechenleistung frisst)? Und wie komme ich am einfachsten (mit möglichst elementaren Mitteln) an eine Leinwand (Canvas), zum Beispiel empfinde ich es als unnötig, ein Frame (mit Rahmen (etc.)!) zu erstellen, wenn ich eh in den Vollbildmodus wechseln möchte?
Vielen Dank schon mal für Antworten!
PS: Fertige Bibliotheken wie LWJGL will ich zumindest anfangs nicht verwenden, einerseits wegen des Lerneffekts und andererseits gebe ich mich mit "simplerer" Grafik zufrieden, meine Zeit investiere ich lieber in ein schönes Spiel anstatt eine zeitgemessene Grafik!
Zuletzt bearbeitet: