MIF_E31230535/jembatan.gd

41 lines
1.3 KiB
GDScript

extends StaticBody2D
var player_nearby = false
var is_down = false
func _ready():
# Memastikan script tetap berjalan jika nanti game di-pause
process_mode = Node.PROCESS_MODE_ALWAYS
print("Sistem Jembatan Aktif! Menunggu Wayan mendekat...")
func _process(_delta):
# Kita cek apakah tombol F ditekan sama sekali
if Input.is_action_just_pressed("interact"):
if player_nearby:
print("Berhasil! Tombol F ditekan di dalam area. Menggerakkan jembatan...")
toggle_bridge()
func toggle_bridge():
var tween = create_tween()
if not is_down:
# Bergerak Rebah
tween.tween_property(self, "rotation_degrees", 90, 1.2).set_trans(Tween.TRANS_QUART).set_ease(Tween.EASE_OUT)
is_down = true
else:
# Bergerak Tegak
tween.tween_property(self, "rotation_degrees", 0, 1.2).set_trans(Tween.TRANS_QUART).set_ease(Tween.EASE_OUT)
is_down = false
# Sambungkan signal body_entered dari Area2D ke sini
func _on_area_2d_body_entered(body):
if body.name == "Player": # Pastikan nama node karaktermu sesuai (cek besar kecil hurufnya)
print("Wayan masuk area jembatan. Siap tekan F!")
player_nearby = true
# Sambungkan signal body_exited dari Area2D ke sini
func _on_area_2d_body_exited(body):
if body.name == "Player":
print("Wayan keluar area jembatan.")
player_nearby = false