Menu
CoddyTech

Tiga Nyawa

Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 30 dari 33.

Menyentuh penjaga akan mengurangi satu hati. Tiga hati di bilah atas adalah Heart1, Heart2, dan Heart3, anak dari $HUD/Hearts. Penjaga adalah Area2D, jadi body_entered terpicu saat menyentuh sang pahlawan:

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

get_child(i) memberikan node anak berdasarkan posisinya, dihitung mulai dari 0. Setelah terkena serangan pertama, health bernilai 2, dan get_child(2) adalah Heart3. Hati menghilang dari kanan.

body_entered terpicu satu kali setiap kali terjadi sentuhan. Pahlawan yang tetap berada di jalur penjaga akan kehilangan satu hati setiap kali penjaga kembali.

challenge icon

Tantangan

Sedang

Di main.gd:

  1. Tambahkan var health = 3 dan hubungkan $Enemy.body_entered.
  2. Setiap kali tersentuh, kurangi health sebanyak satu, lalu sembunyikan $HUD/Hearts.get_child(health).

Coba sendiri

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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Proyek

Latihan sendiri: Playground Godot