43 lines
1.5 KiB
GDScript
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()
|