diff --git a/asset/art/gif/c03_棺材怪/c03_棺材怪_frames.tres b/asset/art/gif/c03_棺材怪/c03_棺材怪_frames.tres index b54fd7c3..9bec1ee1 100644 --- a/asset/art/gif/c03_棺材怪/c03_棺材怪_frames.tres +++ b/asset/art/gif/c03_棺材怪/c03_棺材怪_frames.tres @@ -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") }, { diff --git a/asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres b/asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres index f0fad7ee..90cba3dd 100644 --- a/asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres +++ b/asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres @@ -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, diff --git a/asset/dialogue/c03.csv b/asset/dialogue/c03.csv index 245f7c85..508f8b4e 100644 --- a/asset/dialogue/c03.csv +++ b/asset/dialogue/c03.csv @@ -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,我...为什么要...诶?,我...为啥要...诶?,吕萍,, diff --git a/asset/dialogue/c03.dialogue b/asset/dialogue/c03.dialogue index ee1446c6..5b87eafd 100644 --- a/asset/dialogue/c03.dialogue +++ b/asset/dialogue/c03.dialogue @@ -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 \ No newline at end of file diff --git a/scene/ground/scene/c03/s07_屠宰间.gd b/scene/ground/scene/c03/s07_屠宰间.gd index 0f8f0bce..4a347e58 100644 --- a/scene/ground/scene/c03/s07_屠宰间.gd +++ b/scene/ground/scene/c03/s07_屠宰间.gd @@ -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) diff --git a/scene/ground/scene/c03/s07_屠宰间.tscn b/scene/ground/scene/c03/s07_屠宰间.tscn index 16fe4b7a..340d963c 100644 --- a/scene/ground/scene/c03/s07_屠宰间.tscn +++ b/scene/ground/scene/c03/s07_屠宰间.tscn @@ -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 diff --git a/scene/ground/script/c03/s07_event胖子游戏结束演出.gd b/scene/ground/script/c03/s07_event胖子游戏结束演出.gd index d7584559..220f610c 100644 --- a/scene/ground/script/c03/s07_event胖子游戏结束演出.gd +++ b/scene/ground/script/c03/s07_event胖子游戏结束演出.gd @@ -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: