Menu
CoddyTech

Herói piscando

Parte da seção Projetos do Journey de Godot da Coddy. Lição 34 de 36.

É fácil não perceber que você perdeu um coração na barra superior. Faça o herói piscar em vermelho quando for atingido e, depois, voltar gradualmente à cor original. Uma animação interpolada faz isso em uma função flash() no herói:

func flash():
	modulate = Color(1, 0.3, 0.3)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)

A tonalidade fica vermelha imediatamente e, depois, uma animação interpolada a faz voltar ao branco ao longo de meio segundo. modulate altera a tonalidade do herói e de todos os seus filhos.

main.gd chama $Hero.flash() a cada golpe. Você pode chamar uma função de outro nó por meio desse nó.

challenge icon

Desafio

Médio

Faça o herói piscar em vermelho quando o guarda encostar nele.

  1. Em hero.gd, escreva flash(): defina modulate como Color(1, 0.3, 0.3) e, em seguida, faça a transição de volta para Color(1, 1, 1) em 0.5 segundos.
  2. Em main.gd, chame $Hero.flash() quando o guarda encostar no herói.

Pressione “Jogar” e encoste no guarda: o herói pisca em vermelho. Depois, “Verificar”.

Experimente você mesmo

extends CharacterBody2D

const SPEED = 160

func _physics_process(delta):
	velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
	move_and_slide()

Todas as lições de Projetos

Pratique por conta própria: Playground de Godot