Tremor de tela
Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 11 de 23.
Uma tremida na 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 tremida 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édioFaça a tela tremer quando o robô bater os pés no chão.
- Em
_process, aproximeshakede 0 em30.0 * deltacommove_toward. - Defina
offsetcomo umVector2com valores aleatórios para x e y entre-shakeeshake.
Pressione “Jogar” e pressione E para bater os pés no chão: a visão treme e depois se estabiliza. Em seguida, pressione “Verificar”.
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