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).
Desafío
IntermedioEn _process:
- acerca
shakea 0 en incrementos de30.0 * deltaconmove_toward, - establece
offseten unVector2aleatorio entre-shakeyshakeen 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
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