Menu
CoddyTech

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.

challenge icon

Sfida

Medio

Fai lampeggiare di rosso l’eroe quando la guardia lo tocca.

  1. In hero.gd, scrivi flash(): imposta modulate su Color(1, 0.3, 0.3), poi riportalo con un tween a Color(1, 1, 1) in 0.5 secondi.
  2. 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

Esercitati da solo: Playground Godot