66 lines
1.9 KiB
GDScript
66 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()
|
||
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
|