Três corações
Parte da seção Projetos do Journey de Godot da Coddy. Lição 30 de 33.
Tocar no guarda deve custar um coração. Os três corações na barra superior são Heart1, Heart2 e Heart3, filhos de $HUD/Hearts. O guarda é um Area2D, então seu body_entered é disparado quando toca no herói:
func _on_enemy_body_entered(body):
health -= 1
$HUD/Hearts.get_child(health).visible = falseget_child(i) fornece o nó filho de um nó pela sua posição, contando a partir de 0. Depois do primeiro golpe, health é 2, e get_child(2) é Heart3. Os corações desaparecem da direita.
body_entered é disparado uma vez por toque. Um herói que permanece no caminho do guarda perde um coração cada vez que ele volta.
Desafio
MédioEm main.gd:
- Adicione
var health = 3e conecte$Enemy.body_entered. - A cada toque, diminua
healthem um e, em seguida, oculte$HUD/Hearts.get_child(health).
Experimente você mesmo
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()
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Projetos
1Projeto: Breakout
Raquete do BreakoutMantenha a raquete na tela4Projeto: Explorador de Masmorras
Percorra a masmorraPegue a chave2Projeto: Jogo de Tiro com Asteroides
Gire a naveAcione o motorPratique por conta própria: Playground de Godot