Menu
CoddyTech

Bildschirmwackeln

Teil des Abschnitts Spielgefühl der Godot-Journey von Coddy. Lektion 11 von 23.

Ein Kamerawackeln unterstreicht einen wichtigen Moment, etwa einen Aufprall oder eine Explosion. In diesem Level ruft E die Methode start_shake() der Kamera auf, wodurch shake auf 12 gesetzt wird. Noch bewegt sich nichts.

Camera2D hat ein offset, ein Vector2, das die Ansicht verschiebt, ohne den Kameraknoten zu bewegen. Ein neuer zufälliger Versatz in jedem Frame lässt die Ansicht wackeln.

offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))

Das Wackeln muss aufhören. Verringere shake in jedem Frame mit move_toward in Richtung 0, damit die Sprünge kleiner werden.

shake = move_toward(shake, 0.0, 30.0 * delta)

Wenn shake 0 erreicht, sind beide Zufallszahlen 0, und offset ist wieder Vector2(0, 0).

challenge icon

Aufgabe

Mittel

Lass den Bildschirm wackeln, wenn der Roboter stampft.

  1. Lass in _process shake mit move_toward um 30.0 * delta in Richtung 0 gehen.
  2. Setze offset auf einen Vector2 mit einem zufälligen x- und y-Wert zwischen -shake und shake.

Drücke auf „Spielen“ und drücke E, um zu stampfen: Die Ansicht wackelt und beruhigt sich dann. Drücke anschließend auf „Prüfen“.

Probier es selbst

extends Camera2D

var shake = 0.0

func _ready():
	limit_left = 0
	limit_top = 0
	limit_right = 1600
	limit_bottom = 360

func start_shake():
	shake = 12.0

func _process(delta):
	pass
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Spielgefühl

Übe selbstständig: Godot-Playground