MIF_E31230535/text_trigger.gd

33 lines
1.0 KiB
GDScript

extends Area2D
@onready var label = $CanvasLayer/LabelCerita
@onready var timer = $CanvasLayer/TimerHilang
var sudah_muncul = false # Supaya cuma muncul sekali
func _ready():
label.visible_characters = 0 # Sembunyikan teks di awal
label.modulate.a = 0 # Bikin transparan total (fade out)
func _on_body_entered(body):
# Cek apakah yang masuk itu pemain dan belum pernah muncul
if body.name == "Player" and not sudah_muncul:
sudah_muncul = true
tampilkan_teks()
func tampilkan_teks():
# 1. Animasi Fade In (Muncul pelan-pelan)
var tween = create_tween()
tween.tween_property(label, "modulate:a", 1.0, 0.5)
# 2. Animasi Huruf per Huruf (Mesin Tik)
# Menggerakkan visible_characters dari 0 ke jumlah total huruf
var durasi_ketik = 1.5 # Makin besar makin lambat ketiknya
tween.tween_property(label, "visible_characters", label.text.length(), durasi_ketik)
# 3. Tunggu sebentar lalu Fade Out
await get_tree().create_timer(2.0 + durasi_ketik).timeout
var tween_out = create_tween()
tween_out.tween_property(label, "modulate:a", 0.0, 1.0)