Menu
CoddyTech
flag Pt iconPortuguêsdown icon

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

challenge icon

Desafio

Médio

Em _process:

  1. aproxime shake de 0 em 30.0 * delta usando move_toward,
  2. defina offset como um Vector2 aleatório entre -shake e shake em 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
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