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.
Desafío
IntermedioHaz que el héroe parpadee en rojo cuando el guardia lo toque.
- En
hero.gd, escribeflash(): establecemodulateenColor(1, 0.3, 0.3), después anima el cambio de vuelta aColor(1, 1, 1)en0.5segundos. - 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
1Proyecto: Breakout
La pala de BreakoutMantén la pala en pantalla4Proyecto: Explorador de mazmorras
Recorre la mazmorraRecoge la llavePractica por tu cuenta: Playground de Godot