Menu
CoddyTech

Tre cuori

Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 30 di 33.

Toccare la guardia dovrebbe far perdere un cuore. I tre cuori nella barra in alto sono Heart1, Heart2 e Heart3, figli di $HUD/Hearts. La guardia è un Area2D, quindi il suo body_entered scatta quando tocca l’eroe:

func _on_enemy_body_entered(body):
	health -= 1
	$HUD/Hearts.get_child(health).visible = false

get_child(i) restituisce un nodo figlio in base alla sua posizione, contando da 0. Dopo il primo colpo, health è 2 e get_child(2) è Heart3. I cuori scompaiono da destra.

body_entered scatta una volta per ogni tocco. Un eroe che resta sul percorso della guardia perde un cuore ogni volta che questa ritorna.

challenge icon

Sfida

Medio

In main.gd:

  1. Aggiungi var health = 3 e connetti $Enemy.body_entered.
  2. A ogni contatto, riduci health di uno, poi nascondi $HUD/Hearts.get_child(health).

Provalo tu

extends Node2D

var has_key = false

func _ready():
	$Key.body_entered.connect(_on_key_body_entered)
	$DoorZone.body_entered.connect(_on_door_zone_body_entered)

func _on_key_body_entered(body):
	has_key = true
	$Key.queue_free()
	$HUD/KeyIcon.visible = true

func _on_door_zone_body_entered(body):
	if has_key:
		$Door.queue_free()
		$DoorZone.queue_free()
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progetti

Esercitati da solo: Playground Godot