Über den Rand fliegen
Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 13 von 36.
Gib eine Weile Schub, und das Schiff driftet vom Bildschirm. In diesem Spiel wird der Bildschirmrand übergangslos verbunden. Fliegst du rechts hinaus, kommst du links wieder herein. Fliegst du unten hinaus, kommst du oben wieder herein.
Schreibe für jede Kante ein if. Addiere oder subtrahiere die Breite des Bildschirms, damit das Schiff die Strecke beibehält, die es über die Kante hinausgeflogen ist:
if position.x < 0:
position.x += 640
if position.x > 640:
position.x -= 640Mach dasselbe für y, mit der Höhe 360.
Aufgabe
MittelLass das Raumschiff am Bildschirmrand auf der anderen Seite wieder erscheinen.
- Nachdem sich das Raumschiff bewegt hat und über den linken oder rechten Rand (
0und640) hinausgeflogen ist, bringe es auf der anderen Seite zurück. - Mach dasselbe für den oberen und unteren Rand (
0und360).
Drücke auf „Spielen“ und fliege über den rechten Rand hinaus: Das Raumschiff erscheint links wieder. Klicke dann auf „Prüfen“.
Probier es selbst
extends CharacterBody2D
const TURN_SPEED = 4.0
const THRUST = 300
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
if Input.is_action_pressed("move_up"):
velocity += Vector2.UP.rotated(rotation) * THRUST * delta
$Flame.visible = Input.is_action_pressed("move_up")
position += velocity * delta
Alle Lektionen in Projekte
2Projekt: Asteroiden-Shooter
Das Schiff drehenDen Motor zündenÜbe selbstständig: Godot-Playground