(Vorlage: Doodle Jump)
(Spielkonzept und grundlegender Aufbau)
Zeile 10: Zeile 10:
 
* Nutzt du verschiedene Möglichkeiten, um auf Kollisionen zu reagieren und diese aufzulösen
 
* Nutzt du verschiedene Möglichkeiten, um auf Kollisionen zu reagieren und diese aufzulösen
 
* Entwickelst du einen Doodle Jump clone
 
* Entwickelst du einen Doodle Jump clone
 +
  
 
== Spielkonzept und grundlegender Aufbau ==
 
== Spielkonzept und grundlegender Aufbau ==
  
Ein Frosch soll fröhlich durch das Spiel springen, wann immer er die Chance hat, sich vom Boden abzustoßen. Die Scene <code>FroggyJump</code> enthält den
+
Ein Frosch soll fröhlich durch das Spiel springen, wann immer er die Chance hat, sich vom Boden abzustoßen. In der Scene <code>FroggyJump</code> kann der Spieler ein Objekt der Klasse <code>Frog</code> steuern. Zusätzlich geben Objekte der Klasse <code>Platform</code> halt.
 +
 
 +
Damit ergibt sich das Codegerüst für das Spiel:
 +
 
 +
<source lang="java">
 +
 
 +
</source>
  
 
[[Datei:FrogJump Tutorial.png|mini|Dieser Frosch soll sich durch das Spiel springen]]
 
[[Datei:FrogJump Tutorial.png|mini|Dieser Frosch soll sich durch das Spiel springen]]

Version vom 11. Juni 2023, 11:59 Uhr


Dies ist ein Tutorial für die Engine Alpha 4.x. Diese funktioniert anders als die EDU-Version. Du findest eine Übersicht über alle Tutorials hier.

Inhalt

In diesem Tutorial:

  • Reagierst du auf Kollisionen verschiedener Actor-Objekte
  • Nutzt du verschiedene Möglichkeiten, um auf Kollisionen zu reagieren und diese aufzulösen
  • Entwickelst du einen Doodle Jump clone


Spielkonzept und grundlegender Aufbau

Ein Frosch soll fröhlich durch das Spiel springen, wann immer er die Chance hat, sich vom Boden abzustoßen. In der Scene FroggyJump kann der Spieler ein Objekt der Klasse Frog steuern. Zusätzlich geben Objekte der Klasse Platform halt.

Damit ergibt sich das Codegerüst für das Spiel:

Dieser Frosch soll sich durch das Spiel springen

Kollisionen mit CollisionListener kontrollieren

Das Interface CollisionListener wurde bereits in seiner grundlegenden Form im Nutzereingabe-Tutorial benutzt.

CollisionListener kann mehr als nur melden, wenn zwei Actor-Objekte sich überschneiden. In unserem Froggy-Jump Spiel nutzen wir weitere Features von Kollisionen in der Engine.

Einseitig wirkende Platformen

Unser Frosch soll fähig sein, von unten "durch die Platform hindurch" zu springen. Von oben fallend soll er natürlich auf der Platform stehen bleiben.

Um diesen Effekt zu erzeugen, müssen Kollisionen zwischen Frosch und Platform unterschiedlich behandelt werden:

  • Kollidiert der Frosch von unten, so soll die Kollision ignoriert werden. Er prallt so nicht von der Decke ab und kann weiter nach oben Springen.
  • Kollidiert der Frosch von oben, so soll die Kollision normal aufgelöst werden, sodass er nicht durch den Boden fällt.