Menu
CoddyTech

Destello del héroe

Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 34 de 36.

Es fácil no darse cuenta de que se ha perdido un corazón en la barra superior. Haz que el héroe parpadee en rojo cuando reciba un golpe y después vuelva a su color original gradualmente. Una interpolación lo consigue, en una función flash() del héroe:

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

El tinte se vuelve rojo de inmediato y después una interpolación lo devuelve al blanco durante medio segundo. modulate tiñe al héroe y a todos sus hijos.

main.gd llama a $Hero.flash() con cada golpe. Puedes llamar a una función de otro nodo a través de ese nodo.

challenge icon

Desafío

Intermedio

Haz que el héroe parpadee en rojo cuando el guardia lo toque.

  1. En hero.gd, escribe flash(): establece modulate en Color(1, 0.3, 0.3), después anima el cambio de vuelta a Color(1, 1, 1) en 0.5 segundos.
  2. En main.gd, llama a $Hero.flash() cuando el guardia toque al héroe.

Pulsa «Jugar» y toca al guardia: el héroe parpadea en rojo. Después, «Comprobar».

Pruébalo tú mismo

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 las lecciones de Proyectos

Practica por tu cuenta: Playground de Godot