extends StaticBody2D var player_dekat = false var is_open = false func _ready(): # Menghubungkan sensor supaya tahu kalau robot datang atau pergi $Sensor.body_entered.connect(_on_sensor_body_entered) $Sensor.body_exited.connect(_on_sensor_body_exited) func _on_sensor_body_entered(body): if body.name == "Player": player_dekat = true print("Tekan F untuk membuka gerbang!") func _on_sensor_body_exited(body): if body.name == "Player": player_dekat = false func _input(event): if event.is_action_pressed("interact") and player_dekat: tanya_pertanyaan() func tanya_pertanyaan(): # Simulasi jawaban benar var jawaban_benar = true if jawaban_benar: toggle_gate() func toggle_gate(): is_open = !is_open # Buat animasi perubahan gambar var tween = create_tween() if is_open: # MEMBUKA: Matikan tabrakan dan buat gambar melebar (misal jadi 2.5 kali lipat) $CollisionShape2D.set_deferred("disabled", true) # Ganti TRANS_EASE_OUT menjadi EASE_OUT tween.tween_property($Sprite2D, "scale:x", 0.5, 0.4).set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_OUT) print("Gerbang Terbuka!") else: # MENUTUP: Aktifkan tabrakan dan kembalikan gambar ke ukuran normal (1.0) $CollisionShape2D.set_deferred("disabled", false) # Ganti TRANS_EASE_OUT menjadi EASE_OUT tween.tween_property($Sprite2D, "scale:x", 0.1, 0.4).set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_OUT) print("Gerbang Tertutup!")