L'eroe lampeggia
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 34 di 36.
È facile non accorgersi di una vita persa nella barra superiore. Fai lampeggiare in rosso l'eroe quando viene colpito, poi riportalo gradualmente al colore originale. Per farlo si usa un tween, in una funzione flash() dell'eroe:
func flash():
modulate = Color(1, 0.3, 0.3)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)La tinta diventa subito rossa, poi un tween la riporta al bianco nell'arco di mezzo secondo. modulate applica una tinta all'eroe e a tutti i suoi nodi figlio.
main.gd chiama $Hero.flash() a ogni colpo. Puoi chiamare una funzione su un altro nodo tramite quel nodo.
Sfida
MedioFai lampeggiare di rosso l’eroe quando la guardia lo tocca.
- In
hero.gd, scriviflash(): impostamodulatesuColor(1, 0.3, 0.3), poi riportalo con un tween aColor(1, 1, 1)in0.5secondi. - In
main.gd, chiama$Hero.flash()quando la guardia tocca l’eroe.
Premi «Gioca» e tocca la guardia: l’eroe lampeggia di rosso. Poi premi «Verifica».
Provalo tu
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()
Tutte le lezioni di Progetti
1Progetto: Breakout
La racchetta di BreakoutMantieni la racchetta sullo schermo4Progetto: Dungeon Crawler
Attraversa il dungeonRaccogli la chiaveEsercitati da solo: Playground Godot