MIF_E31230535/tutorial.gd

43 lines
1.5 KiB
GDScript

extends CanvasLayer
# 🛠️ DISESUAIKAN DENGAN GAMBAR KEDUA (IMAGE_311C7A.PNG)
@onready var latar_belakang_klik = $ColorRect
@onready var label_tutorial = $Panel/RichTextLabel
# Teks panduan yang bisa kamu isi dan edit lewat Inspector Loker/Stage
@export_multiline var teks_panduan: String = ""
func _ready() -> void:
# 1. Pastikan node ditemukan dengan aman sebelum menyambung sinyal
if latar_belakang_klik:
latar_belakang_klik.gui_input.connect(_on_latar_belakang_gui_input)
else:
print("⚠️ Eror: Node ColorRect tidak ditemukan!")
# 2. Tampilkan teks dari Inspector
if label_tutorial:
if teks_panduan != "":
label_tutorial.text = teks_panduan
else:
label_tutorial.text = "Gunakan tombol A/D untuk bergerak, dan klik kiri untuk menembak!"
else:
print("⚠️ Eror: Node RichTextLabel tidak ditemukan!")
# 3. BERHENTIKAN GAME TOTAL (Waktu dihentikan murni)
Engine.time_scale = 0.0
print("⏸️ Game dihentikan total untuk tutorial.")
# Fungsi untuk mendeteksi tap / klik di bagian mana saja pada layar
func _on_latar_belakang_gui_input(event: InputEvent) -> void:
# Cek apakah inputnya adalah klik mouse kiri atau tap layar HP
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
tutup_tutorial()
func tutup_tutorial() -> void:
# 1. KEMBALIKAN WAKTU GAME JALAN NORMAL
Engine.time_scale = 1.0
print("▶️ Tutorial selesai, game berjalan kembali.")
# 2. Hapus bar tutorial dari layar
queue_free()