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