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

68 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
var fatty_sprite = $"Pro胖子掉落"
SceneManager.lock_player()
player.hide_sprite = true
var monster = $"../棺材怪切肉" as AnimatedSprite2D
2025-08-05 13:14:04 +00:00
monster.show()
monster.play("砍桌子")
var sfx_monster = $"../棺材怪切肉/Sfx棺材怪切肉" as Sfx2D
2025-08-05 13:14:04 +00:00
# 胖子从屠宰间桌子左侧的上方掉落,站起看向右侧
# 镜头移动至桌子,棺材怪正在切桌上的肉块,桌面右边放着绞肉机。
# 右侧传来小蝉小女孩的笑声or喊声棺材怪被吸引离开向右侧爬去
# 同时画面移回左侧,胖子不见,小蝶站在胖子原先掉落的位置(玩家可以开始操控)
# 小蝉站在绞肉机前,玩家走近后小蝉消失。
fatty_sprite.play("掉下来")
2025-08-05 13:14:04 +00:00
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()
player.hide_sprite = false
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