@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() SceneManager.lock_player() player.set_facing_direction(Vector2.LEFT) var monster = $"../棺材怪切肉" as AnimatedSprite2D monster.show() monster.play("砍桌子") var sfx_monster = $"../棺材怪切肉/Sfx棺材怪切肉" as Sfx2D #玩家在屠宰间右侧醒来,靠在墙上抬头看左侧不站起,镜头向左移动至长桌,棺材怪正在切桌上的肉块 # 等待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) # 进入特写演出 $"../Closeup绞肉机".display() SceneManager.unlock_player() camera.force_offset = Vector2.ZERO func _on_pre_stage_updated() -> void: pass func _on_stage_updated() -> void: pass