Tremor de tela
Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 11 de 23.
Uma trepidação da tela marca um grande momento, como uma pisada ou uma explosão. Neste nível, E chama start_shake() da câmera, que define shake como 12. Nada se move ainda.
Uma Camera2D tem um offset, um Vector2 que desloca a visualização sem mover o nó da câmera. Um novo deslocamento aleatório a cada quadro faz a visualização tremer.
offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))A trepidação precisa parar. Diminua shake em direção a 0 a cada quadro com move_toward, para que os saltos fiquem menores.
shake = move_toward(shake, 0.0, 30.0 * delta)Quando shake chega a 0, os dois números aleatórios são 0, e offset volta a ser Vector2(0, 0).
Desafio
MédioEm _process:
- aproxime
shakede 0 em30.0 * deltausandomove_toward, - defina
offsetcomo umVector2aleatório entre-shakeeshakeem cada eixo.
Depois pressione E para pisar com força.
Experimente você mesmo
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 lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Sensação de jogo
Pratique por conta própria: Playground de Godot