Java 2D / 3D und "schnelle Animationen"

Diskutiere mit über: Java 2D / 3D und "schnelle Animationen" im Mac OS X Entwickler, Programmierer Forum

  1. Jan-Michael

    Jan-Michael Thread Starter MacUser Mitglied

    Beiträge:
    391
    Zustimmungen:
    0
    Registriert seit:
    28.02.2005
    Hallo Leute,

    wie schon im Titel beschrieben habe ich ein paar Fragen zur Graphikprogrammierung in Java. Zum ersten habe ich mich vor ein paar Tagen daran versucht, einen SpaceInvaders-Clone in Java zu programmieren. Das hat prinzipiell auch funktioniert, nur ist mir das spiel irgendwie zu langsam. Die Graphik ruckelt und alles sieht irgendwie noch nicht sehr flüssig aus. In ein paar Online-Tutorien zu Java-Spielen habe ich gelesen, dass zur Darstellung der Graphiken Graphics2D verwendet werden soll. Kann das wirklich so viel bringen - kann ich damit alles schneller machen, oder ist der Grund viel tiefgreifender?

    Meine zweite Frage: Ich hatte in der kommenden Zeit vor, mich etwas mehr mit Spieleprogrammierung mit Java zu beschäftigen. Welches Buch empfehlt ihr?

    Besten Dank für eure Antworten schon mal im Vorraus
    Jan-Michael

    [EDIT:] PS: Den link hab ich ganz vergessen: http://userz.us.funpic.de/java/SpaceInvaders.zip
     
    Zuletzt bearbeitet: 15.03.2007
  2. kahler

    kahler MacUser Mitglied

    Beiträge:
    234
    Zustimmungen:
    0
    Registriert seit:
    26.09.2005
    Spieleprogrammierung unter Java ist so eine Sache für sich. Dadurch, dass der Code in einer VM ausgeführt wird ist das Ganze entsprechend langsam. Es gibt Bibliotheken, die dir bei der Umsetzung helfen. Meist haben diese dann betriebssystemspezifischen Code, der in C oder C++ geschrieben ist.
    Hast du denn überhaupt schon Erfahrung im programmieren generell und mit Java im Besonderen?
    Falls nein, dann solltest du dich erstmal mit einfacheren Problemen beschäftigen und dich dann über Threading und normale GUI-Programmierung (Swing/SWT) Richtung Spieleprogrammierung vorarbeiten.
     
  3. maxpa

    maxpa MacUser Mitglied

    Beiträge:
    144
    Zustimmungen:
    0
    Registriert seit:
    06.01.2007
    Nunja, Java ist zwar langsamer als nativer C oder C++ Code aber man kann durchaus fluessige 2d und 3d (mit beschleunigung...) Spiele damit programmieren.
     
  4. bjbo

    bjbo MacUser Mitglied

    Beiträge:
    1.309
    Zustimmungen:
    82
    Registriert seit:
    20.11.2003
    Eine etwas zu pauschale Aussage, wie ich finde. Es gibt durchaus Leute, die sehr schnelle Spiele mit Java zu stande gebracht haben. Denk nur mal an Jake2, eine Java-Version von Quake2, die schneller läuft, als das Original....
     
  5. macHomer

    macHomer MacUser Mitglied

    Beiträge:
    152
    Zustimmungen:
    0
    Registriert seit:
    23.02.2005
    Gib mir mal deine EMail-Adresse. Dann schicke ich die eine modifizierte Datei zu.
    Leider kann ich diese nicht posten (zu viele Zeichen...)
     
  6. der_Kay

    der_Kay MacUser Mitglied

    Beiträge:
    1.693
    Zustimmungen:
    7
    Registriert seit:
    02.09.2004
    Das lebt natürlich von einer OpenGL Implementierung, wie Java2D auch:
    Behind the Graphics2D: The OpenGL-based Pipeline
     
  7. Jan-Michael

    Jan-Michael Thread Starter MacUser Mitglied

    Beiträge:
    391
    Zustimmungen:
    0
    Registriert seit:
    28.02.2005
    Hallo Leute und schonmal danke für eure antworten!

    Also Erfahrungen mit diversen Programmiersprachen habe ich schon viele gesammelt - unter anderem auch mit Java. Schließlich habe ich ja auch einen funktionsfähigen Clone auf die Beine stellen können. Das große Problem ist eben nur, dass die Graphik nicht sehr flüssig läuft.

    Deshalb wär' ich dir - macHome - sehr verbunden, wenn du dir meien Quellcode anschaust. Meine eMail-Adresse: frogstar.b@googlemail.com.

    Nochmals besten Dank für alle Antworten
    Jan-Michael
     
  8. macHomer

    macHomer MacUser Mitglied

    Beiträge:
    152
    Zustimmungen:
    0
    Registriert seit:
    23.02.2005
    Mit Java5 sind OpenGL-Funktionalitäten in Java2D eingeflossen.
    Mit Java6 gab es weitere Optimierungen. Warum sollte mit der
    heutigen Rechnerleistung nicht in Java programmiert werden?
    Dies ermöglicht eine fliessendere Implementierung, wenn z.B.
    Daten visualisiert werden sollen, die durch ein Informationssystem
    bereitgestellt werden, das in Java implementiert ist...
    Alles eine Frage des Aufwandes, Anforderungen und *NICHT* des
    Geschmacks...
     
  9. Jan-Michael

    Jan-Michael Thread Starter MacUser Mitglied

    Beiträge:
    391
    Zustimmungen:
    0
    Registriert seit:
    28.02.2005
    Hallo macHomer und Danke für das DoubleBuffering. Zur aktuellen Diskussion nur: Finde Java zum programmieren prinzipiell schon sehr praktisch, weil alle Programme, die man schreibt auch auf anderen Plattformen ausgeführt werden können - ohne, dass man seine Quellen nochmal neu kompiliert, oder sogar an das neue System / Bibliotheken anpasst. Mein Prob war eben, dass ich nicht sehr viel Ahnung von Java 2D / 3D habe und damit auch nicht optimieren konnte. Deshalb wäre ich euch auch noch für ein paar Buchtipps zu Spieleprogrammierung / 2D, 3D Graphikprogrammierung in Java sehr dankbar - auch, weil ich mich gerade für den bereich interessieren und in Java schon ein paar Programmiererfahrungen habe.

    Gruß und besten Dank nochmal für eure Antworten
    Jan-Michael
     
  10. macHomer

    macHomer MacUser Mitglied

    Beiträge:
    152
    Zustimmungen:
    0
    Registriert seit:
    23.02.2005
    Unter MacOS war schon in Java1.4.2 (Panther 10.3) Java2D
    OpenGL beschleunigt.
     
Die Seite wird geladen...
Ähnliche Themen - Java schnelle Animationen Forum Datum
Umgebungsvariabel Java Mac OS X Entwickler, Programmierer 14.11.2016
Java deinstallieren, ältere Version installieren Mac OS X Entwickler, Programmierer 13.09.2016
JAVA unter OS X EL Capitan Mac OS X Entwickler, Programmierer 15.04.2016
Java - Minesweeper (Bilder einbinden) Mac OS X Entwickler, Programmierer 20.02.2016
Verschiedene Java-Versionen Mac OS X Entwickler, Programmierer 11.02.2016

Diese Seite empfehlen

Benutzerdefinierte Suche