Menu
CoddyTech

Temblor de pantalla

Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 11 de 23.

Una sacudida de pantalla marca un momento importante, como un pisotón o una explosión. En este nivel, E llama a start_shake() de la cámara, que establece shake en 12. Todavía no se mueve nada.

Una Camera2D tiene un offset, un Vector2 que desplaza la vista sin mover el nodo de la cámara. Un nuevo desplazamiento aleatorio en cada fotograma hace que la vista tiemble.

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

La sacudida debe detenerse. Reduce shake hacia 0 en cada fotograma con move_toward, para que los saltos sean cada vez más pequeños.

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

Cuando shake llega a 0, ambos números aleatorios son 0 y offset vuelve a ser Vector2(0, 0).

challenge icon

Desafío

Intermedio

En _process:

  1. acerca shake a 0 en incrementos de 30.0 * delta con move_toward,
  2. establece offset en un Vector2 aleatorio entre -shake y shake en cada eje.

Después, pulsa E para pisotear.

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Sensación de juego

Practica por tu cuenta: Playground de Godot