屠宰间胖子游戏结束时衔接演出

This commit is contained in:
cakipaul 2025-08-05 22:33:14 +08:00
parent e7a520d666
commit e4176f4e24
7 changed files with 113 additions and 50 deletions

View File

@ -20,11 +20,11 @@
[ext_resource type="Texture2D" uid="uid://dolqhvju6w37p" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊/2.png" id="15_r7cqh"]
[ext_resource type="Texture2D" uid="uid://cj8bhyeispud7" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊/3.png" id="16_6iwnc"]
[ext_resource type="Texture2D" uid="uid://doa4s1rlf57ec" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/0.png" id="17_5j20w"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/0.png" id="17_gjgq1"]
[ext_resource type="Texture2D" uid="uid://dkxeh156pni32" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/0.png" id="17_gjgq1"]
[ext_resource type="Texture2D" uid="uid://be1csxrctn75b" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/1.png" id="18_0h5aq"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/1.png" id="18_gawdl"]
[ext_resource type="Texture2D" uid="uid://b65vwisqo8pc6" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/1.png" id="18_gawdl"]
[ext_resource type="Texture2D" uid="uid://bmfdak3dd3l3v" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/2.png" id="19_l366s"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/2.png" id="19_ubxjo"]
[ext_resource type="Texture2D" uid="uid://bhm2nsqjdc3yp" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/2.png" id="19_ubxjo"]
[ext_resource type="Texture2D" uid="uid://cpvbf2up2fp3d" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/3.png" id="20_q5euy"]
[ext_resource type="Texture2D" uid="uid://bl2qevd1sbe7y" path="res://asset/art/gif/c03_棺材怪/爬墙循环动画/0.png" id="21_bse6b"]
[ext_resource type="Texture2D" uid="uid://mcr3gajkr1kk" path="res://asset/art/gif/c03_棺材怪/爬墙循环动画/1.png" id="22_vpwxa"]
@ -51,6 +51,23 @@ animations = [{
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_sim85")
}, {
"duration": 1.0,
"texture": ExtResource("2_xdst7")
}, {
"duration": 1.0,
"texture": ExtResource("3_qj4as")
}, {
"duration": 1.0,
"texture": ExtResource("4_1j7sr")
}],
"loop": true,
"name": &"地下呼吸帧_准备走路",
"speed": 5.0
}, {
"frames": [{
"duration": 6.0,
"texture": ExtResource("5_yggaj")
}, {

View File

@ -111,9 +111,9 @@ animations = [{
"duration": 3.0,
"texture": ExtResource("10_gwxu8")
}],
"loop": true,
"loop": false,
"name": &"小孩山塌了",
"speed": 30.0
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,

View File

@ -11,7 +11,7 @@ c03_瞎子卧室演出_瞎子1,咳咳,她,咳咳,不在。,咳咳,她,
c03_瞎子卧室演出_小小蝶2,她是不是生病了,好几天没看到她了。,她是不是生毛病了,好几天没看到她了。,小小蝶,,
c03_瞎子卧室演出_瞎子2,她...,她...,瞎子,,
c03_瞎子卧室演出_瞎子3,我一家一家问过来,都讲没看见她。,我一家一家问过来,都讲没看见她。,瞎子,,
c03_瞎子卧室演出_瞎子4, 一个活生生的小女孩,就这么找不见了...,蛮好的一个小囡,就这能嘎寻不着了...,瞎子,,
c03_瞎子卧室演出_瞎子4,一个活生生的小女孩,就这么找不见了...,蛮好的一个小囡,就这能嘎寻不着了...,瞎子,,
c03_一楼院子李癞胖_胖子6,真像啊,像活过来了似的...,哪能嘎像的,像活过来了一样...,肉铺胖子,,
c03_一楼院子李癞胖_李氏7,呸!现在抓药还要多收几个子儿,我看那老板就是掉钱眼里去了!,册那!现在赎药还要多收铜钱啊?老板大概落了铜钱眼里去了!,李氏,,
c03_一楼院子李癞胖_癞子5,都忙完了吧?,生活都做好了伐?,癞子,,
@ -90,7 +90,7 @@ c03_麻将游戏_胖子23,他妈的,不玩了不玩了,今天一把都没胡
c03_麻将游戏_瞎子17,我也得早点回去,没准小蝉今儿个能回来,我总惦记着回去看看。,窝阿要早眼回起了,万一倒小蝉回来了呢,窝心里老是放伐落。,瞎子,,
c03_麻将游戏_李氏22,天黑了,你们回去都小心着点。,天夜了,纳回起路浪当心点哦。,李氏,,
c03_麻将游戏_癞子20,嘶...,嘶...,癞子,,
c03_肉铺胖子_4,,xxx,xxx,,
c03_肉铺胖子_4,,xxx,,,
c03_囚室通风管道偷听_李氏1,我不认!,侬叫我哪能相信伐子!,李氏,,
c03_囚室通风管道偷听_李氏2,我弟弟才十六岁,不抽烟不吃酒不打牌,性子也好,都说他将来是当个能人的料!,我阿弟只有十六岁,又不吃香烟不吃老酒不打牌,脾气也好,都讲他下趟老有出息的!,李氏,,
c03_囚室通风管道偷听_李氏3,怎么就、怎么就...,哪能就、就...,李氏,,
@ -157,9 +157,9 @@ c03_绞肉机演出_小蝉7,我叫方小蝉。,我叫方小蝉。,小蝉,,
c03_绞肉机演出_小蝉8,阿姨,你们是不是要回去吃饭啦,我爸爸...一会也要来喊我回家了。,阿姨,你们是伐是要回起吃饭啦,我爸爸...等些阿要叫我回起了。,小蝉,,
c03_绞肉机演出_小蝉9,再、再见。,再、再见。,小蝉,,
c03_结尾井边演出_小蝉10,我要是还活着...就能拉你起来了,我要是还活来嘿,就好拉侬起来了,小蝉,,
c03_结尾井边演出_小蝶1,方小蝉?我好像...想起你是谁了...,方小蝉?我好像想起侬是啥宁了,小蝶,,
c03_结尾井边演出_小蝶1,方小蝉?我好像...想起你是谁了...,方小蝉?我好像想起侬是啥宁了,吕萍,,
c03_结尾井边演出_小蝉11,嗯...那你可以...离开这里了吗?,嗯...那侬可以...回去了伐?,小蝉,,
结尾井边演出_选择,是否答应小蝉离开这里?,是否答应小蝉离开这里?,,,
结尾井边演出_选择1,是,是,(response),,
结尾井边演出_选择2,否,否,(response),,
c03_结尾井边演出_小蝶2,我...为什么要...诶?,我...为啥要...诶?,小蝶,,
c03_结尾井边演出_小蝶2,我...为什么要...诶?,我...为啥要...诶?,吕萍,,

1 keys zh_CN zh_SH _character _notes _tags
11 c03_瞎子卧室演出_小小蝶2 她是不是生病了,好几天没看到她了。 她是不是生毛病了,好几天没看到她了。 小小蝶
12 c03_瞎子卧室演出_瞎子2 她... 她... 瞎子
13 c03_瞎子卧室演出_瞎子3 我一家一家问过来,都讲没看见她。 我一家一家问过来,都讲没看见她。 瞎子
14 c03_瞎子卧室演出_瞎子4 一个活生生的小女孩,就这么找不见了... 蛮好的一个小囡,就这能嘎寻不着了... 瞎子
15 c03_一楼院子李癞胖_胖子6 真像啊,像活过来了似的... 哪能嘎像的,像活过来了一样... 肉铺胖子
16 c03_一楼院子李癞胖_李氏7 呸!现在抓药还要多收几个子儿,我看那老板就是掉钱眼里去了! 册那!现在赎药还要多收铜钱啊?老板大概落了铜钱眼里去了! 李氏
17 c03_一楼院子李癞胖_癞子5 都忙完了吧? 生活都做好了伐? 癞子
90 c03_麻将游戏_瞎子17 我也得早点回去,没准小蝉今儿个能回来,我总惦记着回去看看。 窝阿要早眼回起了,万一倒小蝉回来了呢,窝心里老是放伐落。 瞎子
91 c03_麻将游戏_李氏22 天黑了,你们回去都小心着点。 天夜了,纳回起路浪当心点哦。 李氏
92 c03_麻将游戏_癞子20 嘶... 嘶... 癞子
93 c03_肉铺胖子_4 ??? xxx xxx ???
94 c03_囚室通风管道偷听_李氏1 我不认! 侬叫我哪能相信伐子! 李氏
95 c03_囚室通风管道偷听_李氏2 我弟弟才十六岁,不抽烟不吃酒不打牌,性子也好,都说他将来是当个能人的料! 我阿弟只有十六岁,又不吃香烟不吃老酒不打牌,脾气也好,都讲他下趟老有出息的! 李氏
96 c03_囚室通风管道偷听_李氏3 怎么就、怎么就... 哪能就、就... 李氏
157 c03_绞肉机演出_小蝉8 阿姨,你们是不是要回去吃饭啦,我爸爸...一会也要来喊我回家了。 阿姨,你们是伐是要回起吃饭啦,我爸爸...等些阿要叫我回起了。 小蝉
158 c03_绞肉机演出_小蝉9 再、再见。 再、再见。 小蝉
159 c03_结尾井边演出_小蝉10 我要是还活着...就能拉你起来了 我要是还活来嘿,就好拉侬起来了 小蝉
160 c03_结尾井边演出_小蝶1 方小蝉?我好像...想起你是谁了... 方小蝉?我好像想起侬是啥宁了 小蝶 吕萍
161 c03_结尾井边演出_小蝉11 嗯...那你可以...离开这里了吗? 嗯...那侬可以...回去了伐? 小蝉
162 结尾井边演出_选择 是否答应小蝉离开这里? 是否答应小蝉离开这里?
163 结尾井边演出_选择1 (response)
164 结尾井边演出_选择2 (response)
165 c03_结尾井边演出_小蝶2 我...为什么要...诶? 我...为啥要...诶? 小蝶 吕萍

View File

@ -274,7 +274,7 @@
~ c03_井边回忆
小蝉: 我要是还活着...就能拉你起来了 [ID:c03_结尾井边演出_小蝉10]
小蝶: 方小蝉?我好像...想起你是谁了... [ID:c03_结尾井边演出_小蝶1]
吕萍: 方小蝉?我好像...想起你是谁了... [ID:c03_结尾井边演出_小蝶1]
小蝉: 嗯...那你可以...离开这里了吗? [ID:c03_结尾井边演出_小蝉11]
是否答应小蝉离开这里? [ID:结尾井边演出_选择]
- 是 [ID:结尾井边演出_选择1]
@ -283,10 +283,10 @@
=> END
- 否 [ID:结尾井边演出_选择2]
# 继续对白
小蝶: 我...为什么要...诶? [ID:c03_结尾井边演出_小蝶2]
吕萍: 我...为什么要...诶? [ID:c03_结尾井边演出_小蝶2]
=> END
~ c03_井边回忆_无选项
小蝉: 我要是还活着...就能拉你起来了 [ID:c03_结尾井边演出_小蝉10]
小蝶: 方小蝉?我好像...想起你是谁了... [ID:c03_结尾井边演出_小蝶1]
吕萍: 方小蝉?我好像...想起你是谁了... [ID:c03_结尾井边演出_小蝶1]
=> END

View File

@ -15,6 +15,7 @@ func _ready() -> void:
#region node_reference
var closeup绞肉机: Closeup2D
var monster
#endregion
@ -24,6 +25,7 @@ func _setup_node_reference() -> void:
func _on_ground_ready() -> void:
monster = $"../DeployLayer/棺材怪切肉"
closeup绞肉机.exit.connect(_on_grinder_exited)
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
var grinder_stage = EventManager.get_stage("c03_meat_grinder")
@ -50,10 +52,10 @@ func _transport_to_the_fatty_story() -> void:
func _setup_monster() -> void:
var monster = $"../DeployLayer/棺材怪切肉"
monster.show()
monster.play()
func _on_monster_chopping_animation_looped() -> void:
# if monster.animation == "砍桌子":
SceneManager.get_camera_marker().shake_camera(1.5)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://c67732f2we13j"]
[gd_scene load_steps=29 format=3 uid="uid://c67732f2we13j"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_oxs1j"]
[ext_resource type="Script" uid="uid://dh5vxhnfnua3q" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
@ -22,6 +22,8 @@
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="14_48a3r"]
[ext_resource type="PackedScene" uid="uid://5bubirvt8ep8" path="res://scene/ground/script/c03/s07_closeup绞肉机.tscn" id="15_48a3r"]
[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="17_e1lvl"]
[ext_resource type="AudioStream" uid="uid://be6xihynmvrwj" path="res://asset/audio/sfx/交互/第一章/谢幕演出_耳鸣加笑声.ogg" id="20_jjxk1"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="21_qeidq"]
[ext_resource type="Script" uid="uid://deysfedtyjlig" path="res://scene/ground/script/c03/s07_event胖子游戏结束演出.gd" id="22_fuomw"]
[ext_resource type="SpriteFrames" uid="uid://cay6bn3elw2we" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/c03_胖子游戏第一段_frames.tres" id="23_0lqrx"]
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="23_u2kpr"]
@ -81,23 +83,16 @@ status = "locked"
prop_key = "prop_符纸钥匙"
[node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_t8dkf")]
position = Vector2(419, 34)
position = Vector2(170, 34)
debug_note = "胖子游戏结束,回到绞肉机前"
enabled = false
portal_name = "2"
[node name="符纸" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
position = Vector2(130, 26)
texture = ExtResource("7_5jjkx")
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(348, 56.5)
texture = ExtResource("7_es8d4")
[node name="绞肉机" type="Sprite2D" parent="Ground/DeployLayer/长桌"]
position = Vector2(72, -33.5)
texture = ExtResource("8_thx4k")
[node name="悬挂物" type="Node2D" parent="Ground/DeployLayer" index="6"]
[node name="悬挂物" type="Node2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(122, 0)
[node name="人" type="Node2D" parent="Ground/DeployLayer/悬挂物"]
@ -128,23 +123,24 @@ script = ExtResource("5_vyti6")
original_texture = ExtResource("9_jfgnj")
metadata/_custom_type_script = "uid://dt8cfnm2og4h"
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="7" instance=ExtResource("14_48a3r")]
unique_name_in_owner = true
position = Vector2(419, 21)
packed_scene = ExtResource("15_48a3r")
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"]
script = ExtResource("17_e1lvl")
updater_event = &"c03_meat_grinder"
updater_stage_mode = "exclude"
updater_stages = Array[int]([3])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="棺材怪切肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"]
visible = false
position = Vector2(311, -2.5)
[node name="棺材怪切肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"]
position = Vector2(311, -4.5)
sprite_frames = ExtResource("8_isumy")
animation = &"砍桌子"
animation = &"地下呼吸帧_准备走路"
flip_h = true
script = ExtResource("23_u2kpr")
action_configs = Array[Dictionary]([{
"animation_intro": "地下呼吸帧_准备走路",
&"animation_next": "棺材怪走路",
&"intro_loop": 2
}])
move_configs = Array[Dictionary]([{
"animation": "棺材怪走路",
"movement_x": 1000.0,
"velocity": Vector2(-60, 0)
}])
debug_mov_animation = "地下呼吸帧"
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Sfx棺材怪切肉" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/棺材怪切肉"]
stream = ExtResource("5_olmed")
@ -155,14 +151,14 @@ bus = &"game_sfx"
script = ExtResource("10_bxi12")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="Event胖子游戏结束演出" type="Node2D" parent="Ground/DeployLayer" index="9"]
[node name="Event胖子游戏结束演出" type="Node2D" parent="Ground/DeployLayer" index="7"]
script = ExtResource("22_fuomw")
event_name = &"c03_meat_grinder"
event_stages = Array[int]([2])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="Pro胖子掉落" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event胖子游戏结束演出"]
position = Vector2(162, 9)
position = Vector2(157, 39)
sprite_frames = ExtResource("23_0lqrx")
animation = &"掉下来"
script = ExtResource("23_u2kpr")
@ -175,12 +171,48 @@ action_configs = Array[Dictionary]([{
}])
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Sfx2D小蝉笑声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Event胖子游戏结束演出"]
position = Vector2(432, 0)
stream = ExtResource("20_jjxk1")
max_distance = 1000.0
bus = &"game_sfx"
script = ExtResource("10_bxi12")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event胖子游戏结束演出"]
position = Vector2(315, -5)
color = Color(0.940296, 0.960906, 0.986459, 1)
energy = 0.6
texture = ExtResource("21_qeidq")
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="8"]
position = Vector2(348, 56.5)
texture = ExtResource("7_es8d4")
[node name="绞肉机" type="Sprite2D" parent="Ground/DeployLayer/长桌"]
position = Vector2(72, -33.5)
texture = ExtResource("8_thx4k")
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_48a3r")]
unique_name_in_owner = true
position = Vector2(419, 21)
packed_scene = ExtResource("15_48a3r")
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"]
script = ExtResource("17_e1lvl")
updater_event = &"c03_meat_grinder"
updater_stage_mode = "exclude"
updater_stages = Array[int]([3])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
player_movement_rect = Rect2(18, -158, 714, 316)
facing_direction = Vector2(1, 0)
[node name="AudioListener2D" type="AudioListener2D" parent="Ground/MainPlayer" index="6"]
[node name="CameraFocusMarker" parent="Ground" index="6"]
limit_right = 750
@ -193,7 +225,6 @@ offset = Vector2(0, -156)
points = PackedVector2Array(18, 150, 732, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8
blend_mode = 1

View File

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