Hier passiert das eigentliche Spiel.
A. Spieler Setup & Steuerung
// Spieler erstellen
const player = add([
sprite("hero"),
pos(200, height() - 300),
area(),
body(), // Aktiviert Physik (Schwerkraft)
"spieler"
]);
// Sprung-Logik (inkl. Double Jump)
function doJump() {
if (player.isGrounded()) {
jumps = 1;
player.jump(...); // Erster Sprung
} else if (jumps < 2) {
jumps = 2;
player.jump(...); // Zweiter Sprung (Luft)
}
}
B. Plattform Spawner
Erzeugt zufällige Plattformen, die von rechts nach links fliegen.
function spawnPlatform() {
// Berechnet zufällige Breite und Höhe
const pWidth = rand(2, 6) * 70;
add([
sprite(levelData.platTex, ...), // Textur aus Level-Config
move(LEFT, mySpeed), // Bewegt sich nach links
area({ friction: levelData.friction }), // Setzt Rutschigkeit
"platform"
]);
}
C. Gegner & Score System
Punkte werden erst gezählt, wenn ein Hindernis überwunden wurde.
function spawnEnemy() {
// ... Erzeugt Vogel oder Kaktus ...
// WICHTIG: Event wenn Gegner den Schirm verlässt
enemy.onExitScreen(() => {
checkLevelUp(); // Punkt zählen & Prüfen ob Level fertig
});
}