Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

07.09.2013, 10:45

2D-Spieleentwicklung in Java

Guten Tag,
nachdem ich nun seit einiger Zeit im Forum mitgelesen habe, habe ich mich entschlossen mich zu registrieren, da ich beim Einstieg in die Spieleentwicklung in Java etwas Hilfe brauchen könnte/ einige Fragen habe.
Und zwar habe ich mir vorgenommen, als erstes "richtiges" Projekt (ein Pong und ein Snake habe ich schon gepackt) ein 2D-Jump'n'Run in Java zu entwickeln. Nachdem ich mich im Internet ein wenig umgesehen habe, bin ich auf diese Tutorialreihe gestoßen. Im Projekt wird ein kleiner Platformer in Java entwickelt, was ja an sich meinem Ziel ziemlich genau entspricht. Meine Frage ist allerdings, ob es Sinn macht, die Graphics/ Graphics2D-Klassen zu verwenden, oder ob es eine für diesen Zweck gut geeignete 2D-Engine gibt, die man benutzen könnte? Lassen sich die eben genannten Klassen auch in "größeren" Projekten noch sinnvoll nutzen?

Wahrscheinlich ist das eine ziemliche Anfängerfrage, aber das bin ich ja auch ;-)

Viele Grüße,
nJeur

2

07.09.2013, 11:06

Ich würde eine Bibliothek/Engine benutzen, wie z.B. JSFML. Du meinst du wärst ein Anfänger und möchtest dich nach seinem Tutorial richten, aber wenn du eine Engine benutzt und dadurch deinen eigenen Code schreibst, dann würde dir das Tutorial sozusagen nur einen Leitfaden geben.Du kannst den Code nicht so abschreiben(was ja auch Sinn der Sache sein sollte), aber verstehst das Prinzip, wie so ein Spiel funktioniert, also du siehst in dem Tutorial z.B genau, wie er die Tastatur Abfrage macht...wahrscheinlich würdest du es genauso abschreiben, aber dadurch, dass du eine Engine benutzt, geht das nicht und du musst dich selber darum kümmern.Aber das Prinzip sollte das gleiche sein: mit einer if-Abfrage frägst du ab, was passiert ist und dann verschiebst du den Spieler oder irgendwie so...

3

07.09.2013, 11:14

Hallo,
danke für die Antwort.
Mir ist schon klar, dass es wenig Sinn macht, den Code einfach 1:1 abzuschreiben, und genau da sehe ich auch das Problem in der verlinkten Tutorialreihe- es wird praktisch nur Code geschrieben, und sehr wenig erklärt.
Wenn es mehr Sinn macht, eine spezielle Bibliothekt zu benutzen, dann werde ich mir JSFML mal ansehen (ich kann (noch) nicht beurteilen, ob JSFML jetzt für meine Zwecke besonders gut oder schlecht ist, und vertraue einfach mal auf deinen Rat ;-) ). Oder gibt es etwas besser geeignetes?
Gruß nJeur

4

07.09.2013, 11:40

Was hindert dich denn daran es selber zu versuchen? :D
Du hast Pong geschrieben und kannst grafisch zeichnen und abfragen an der Tastatur machen...also versuch es doch selber? :D
Wenn du etwas nicht verstehst, dann findest du immer was auf google oder du fragst einfach hier im Forum nach... :D

5

07.09.2013, 11:51

Ok, dann fange ich einfach mal an ;-)

6

07.09.2013, 12:22

Das schaut interessant aus, danke für den Link, auch wegen der Android-Unterstützung. Ich schaue mir beides mal an, damit sollte ich fürs erste aber mehr als genug zu tun haben.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

7

07.09.2013, 16:29

So schlecht ist Java2D gar nicht. Spätestens seit Java 6 wird für das zeichnen DirectX/OpenGL verwendet falls verfügbar und möglich. Solange man nur Sprites zeichnet ist das alles kein Problem. Nur wenn man den vollen Umfang von Java2D verwendet kann es passieren das irgendeine Funktion nicht mehr in Hardware umsetzbar ist und man in den Softwaremodus springt.

Ich habe damals immer Slick2d (http://slick.ninjacave.com/) verwendet. Die API ähnelt der von Java2D sehr, ist aber voll OpenGL und hat in Richtung Spiele noch ein paar Funktionen mehr.

Werbeanzeige