36 lines
1.2 KiB
GDScript
36 lines
1.2 KiB
GDScript
extends Node2D
|
|
|
|
@onready var anim_player = $AnimationPlayer
|
|
|
|
# Jalur scene tujuan yang bisa kamu pilih langsung dari Inspector
|
|
@export_file("*.tscn") var target_scene
|
|
|
|
func _ready() -> void:
|
|
if anim_player:
|
|
# 1. Mainkan animasi masuk (layar hitam memudar menjadi transparan)
|
|
anim_player.play("fadein")
|
|
print("🎥 Memulai cutscene: Memutar animasi fadein...")
|
|
|
|
# 2. Tunggu sampai animasi fadein selesai
|
|
await anim_player.animation_finished
|
|
|
|
# 3. Setelah selesai tampil, langsung sambung ke animasi fadeout (menghitam kembali)
|
|
if anim_player.has_animation("fadeout"):
|
|
anim_player.play("fadeout")
|
|
print("🎬 Cutscene selesai: Memutar animasi fadeout...")
|
|
|
|
# 4. Tunggu sampai layar benar-benar hitam
|
|
await anim_player.animation_finished
|
|
|
|
# 5. Pindah ke scene utama gameplay yang sudah dipilih
|
|
pindah_ke_scene_tujuan()
|
|
else:
|
|
print("❌ Eror: AnimationPlayer tidak ditemukan di Scene!")
|
|
|
|
func pindah_ke_scene_tujuan() -> void:
|
|
if target_scene and target_scene != "":
|
|
get_tree().change_scene_to_file(target_scene)
|
|
print("🚀 Sukses! Berhasil pindah ke scene: ", target_scene)
|
|
else:
|
|
print("⚠️ Wayan, target_scene masih kosong di Inspector! Jangan lupa diisi ya.")
|