xiandie/scene/ground/script/c03/s07_event胖子游戏结束演出.gd

66 lines
1.9 KiB
GDScript3
Raw Normal View History

2025-08-05 13:14:04 +00:00
@tool
extends Event2D
# var prev_stage := 0
# var stage := 0
func _ready() -> void:
super._ready()
if Engine.is_editor_hint():
return
func _on_global_stage_updated(e: StringName, s: int) -> void:
super._on_global_stage_updated(e, s)
func _on_ground_ready(_ground: Ground2D) -> void:
if stage == 2:
# 进入演出
var portal_2_x = $"../portal_2".global_position.x
SceneManager.get_player().global_position.x = portal_2_x
_fatty_game_finished_show()
func _fatty_game_finished_show() -> void:
var player = SceneManager.get_player()
var camera = SceneManager.get_camera_marker()
2025-08-05 13:14:04 +00:00
SceneManager.lock_player()
2025-08-06 12:53:49 +00:00
player.set_facing_direction(Vector2.LEFT)
var monster = $"../棺材怪切肉" as AnimatedSprite2D
2025-08-05 13:14:04 +00:00
monster.show()
monster.play("砍桌子")
var sfx_monster = $"../棺材怪切肉/Sfx棺材怪切肉" as Sfx2D
2025-08-06 12:53:49 +00:00
#玩家在屠宰间右侧醒来,靠在墙上抬头看左侧不站起,镜头向左移动至长桌,棺材怪正在切桌上的肉块
# 等待3s左侧传来小蝉小女孩的笑声
# 棺材怪被吸引,走向左侧缓慢离开
#(棺材怪开始移动的同时镜头缓缓向右移动至玩家,无需播放玩家起身动作,镜头移回时直接为站立呼吸即可,玩家可以操作)
# 往左走看到小蝉站在绞肉机前,玩家走近后小蝉消失。
# fatty_sprite.play("掉下来")
# await fatty_sprite.animation_finished
var tween = create_tween()
tween.tween_property(camera, "force_offset:x", 200.0, 3.0)
tween.tween_interval(3.0)
await tween.finished
# 小孩笑声
$"Sfx2D小蝉笑声".play()
await Util.wait(0.5)
monster.play("地下呼吸帧_准备走路")
sfx_monster.volume_db = -100.0
await Util.wait(6.0)
SceneManager.black_transition()
await Util.wait(1.0)
2025-08-05 13:14:04 +00:00
# 进入特写演出
$"../Closeup绞肉机".display()
SceneManager.unlock_player()
camera.force_offset = Vector2.ZERO
2025-08-05 13:14:04 +00:00
func _on_pre_stage_updated() -> void:
pass
func _on_stage_updated() -> void:
pass