Tre cuori
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 33 di 36.
Toccare la guardia dovrebbe costare un cuore. I tre cuori nella barra superiore sono Heart1, Heart2 e Heart3, figli di $HUD/Hearts. La guardia è un Area2D, quindi il suo body_entered si attiva quando tocca l’eroe:
func _on_enemy_body_entered(body):
health -= 1
$HUD/Hearts.get_child(health).visible = falseget_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 si attiva una volta per ogni contatto. Un eroe che rimane sul percorso della guardia perde un cuore ogni volta che questa torna.
Sfida
MedioFai in modo che la guardia tolga un cuore all'eroe.
- In
main.gd, aggiungivar health = 3e collega$Enemy.body_entered. - A ogni contatto, diminuisci
healthdi uno, poi nascondi$HUD/Hearts.get_child(health).
Premi «Gioca» e tocca la guardia: il cuore più a destra scompare. Poi premi «Verifica».
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()
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