Menu
CoddyTech

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).

challenge icon

Desafio

Médio

Faça a tela tremer quando o robô bater os pés no chão.

  1. Em _process, aproxime shake de 0 em 30.0 * delta com move_toward.
  2. Defina offset como um Vector2 com valores aleatórios para x e y entre -shake e shake.

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
quiz iconTeste seus conhecimentos

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