Menu
CoddyTech

Bildschirmwackeln

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

Ein Bildschirmwackeln unterstreicht einen wichtigen Moment, etwa einen Stampfer oder eine Explosion. In diesem Level ruft E die Kamerafunktion start_shake() auf, die shake auf 12 setzt. Noch bewegt sich nichts.

Eine Camera2D hat ein offset, einen Vector2, der die Ansicht verschiebt, ohne den Kameraknoten zu bewegen. Ein neuer zufälliger Offset 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

In _process:

  1. bewege shake mit move_toward um 30.0 * delta in Richtung 0,
  2. setze offset auf einen zufälligen Vector2 zwischen -shake und shake auf jeder Achse.

Drücke dann E, um aufzustampfen.

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