diff --git a/config/animation/entity_sprite_frames.tres b/config/animation/entity_sprite_frames.tres index 89dbbb56..ee0c681e 100644 --- a/config/animation/entity_sprite_frames.tres +++ b/config/animation/entity_sprite_frames.tres @@ -3254,9 +3254,6 @@ animations = [{ "frames": [{ "duration": 3.0, "texture": ExtResource("561_absvs") -}, { -"duration": 14.0, -"texture": ExtResource("570_wpe64") }], "loop": true, "name": &"c02_吕萍_背靠呼吸", @@ -3316,7 +3313,7 @@ animations = [{ }], "loop": false, "name": &"c02_吕萍_背靠起身", -"speed": 6.0 +"speed": 5.0 }, { "frames": [{ "duration": 1.0, diff --git a/scene/ground/ground.gd b/scene/ground/ground.gd index ed9b6622..7bdae6a2 100644 --- a/scene/ground/ground.gd +++ b/scene/ground/ground.gd @@ -258,7 +258,7 @@ func _setup_player_light() -> void: directional_light.visible = true # 设置角色身上光源 var should_enable_light = ( - directional_light.blend_mode == Light2D.BLEND_MODE_SUB and directional_light.energy > 0.6 + directional_light.blend_mode == Light2D.BLEND_MODE_SUB and directional_light.energy >= 0.6 ) player.enable_light = should_enable_light print("_setup_player_light player.enable_light=", player.enable_light) diff --git a/scene/ground/ground_loader.gd b/scene/ground/ground_loader.gd index d72cd626..f56f5da8 100644 --- a/scene/ground/ground_loader.gd +++ b/scene/ground/ground_loader.gd @@ -45,6 +45,7 @@ const GROUND_SCENE_PATH_DICT: Dictionary[String, Dictionary] = { "c03_s10": {"path": "uid://clgwc3jcqarpe", "name": "胖子游戏1"}, "c03_s11": {"path": "uid://shgrg8qcr1cu", "name": "胖子游戏2"}, "c03_s12": {"path": "uid://cxabqg87g4vxc", "name": "胖子游戏3"}, + "c03_s13": {"path": "uid://s6odh172gpbr", "name": "胖子游戏4"}, "c04_s01": {"path": "uid://drjnu33pga6i5", "name": "父母房间"}, } diff --git a/scene/ground/scene/c03/s02_瞎子新卧室.tscn b/scene/ground/scene/c03/s02_瞎子新卧室.tscn index 6e2c7b6f..f23885ae 100644 --- a/scene/ground/scene/c03/s02_瞎子新卧室.tscn +++ b/scene/ground/scene/c03/s02_瞎子新卧室.tscn @@ -272,6 +272,7 @@ unique_name_in_owner = true position = Vector2(193, 22) texture = ExtResource("18_t8u8e") packed_scene = ExtResource("13_fl7if") +on_display_hide_hud = true sign_mark_offset = Vector2(3, -5) enabled = false diff --git a/scene/ground/scene/c03/s04_李癞房间.gd b/scene/ground/scene/c03/s04_李癞房间.gd index b58a756d..d4631fc9 100644 --- a/scene/ground/scene/c03/s04_李癞房间.gd +++ b/scene/ground/scene/c03/s04_李癞房间.gd @@ -35,8 +35,10 @@ func _on_ground_ready() -> void: closeup整理麻将游戏.enabled = mahjong_stage == 0 if mahjong_stage == 1: closeup整理麻将游戏.display() + SceneManager.toggle_hud_display(false) elif mahjong_stage == 2: closeup麻将出千游戏.display() + SceneManager.toggle_hud_display(false) closeup整理麻将游戏.exit.connect(_on_exit_sort_mahjong_game) closeup麻将出千游戏.exit.connect(_on_exit_cheat_mahjong_game) pickable药方.triggered.connect(_on_spec_picked, CONNECT_ONE_SHOT) @@ -55,6 +57,7 @@ func _on_exit_sort_mahjong_game(arg) -> void: func _on_exit_cheat_mahjong_game(arg) -> void: if arg: + SceneManager.toggle_hud_display(true) EventManager.set_stage_if_greater("c03_mahjong_game", 3) EventManager.set_stage_if_greater("c03_li_paperwoman", 1) closeup麻将出千游戏.enabled = false diff --git a/scene/ground/scene/c03/s05_肉铺.tscn b/scene/ground/scene/c03/s05_肉铺.tscn index bad02888..e61e318f 100644 --- a/scene/ground/scene/c03/s05_肉铺.tscn +++ b/scene/ground/scene/c03/s05_肉铺.tscn @@ -110,6 +110,7 @@ hook_dialogue_title = "c03_s05_肉铺隔门板偷听" position = Vector2(424, 41) texture = ExtResource("8_mv54a") packed_scene = ExtResource("8_12how") +on_display_hide_hud = true sign_mark_offset = Vector2(-2.6, -7.28) [node name="Pickable新鲜的肉" parent="Ground/DeployLayer" index="4" instance=ExtResource("10_ma57s")] diff --git a/scene/ground/scene/c03/s06_胖子卧室.tscn b/scene/ground/scene/c03/s06_胖子卧室.tscn index e6bef9f2..63b3377e 100644 --- a/scene/ground/scene/c03/s06_胖子卧室.tscn +++ b/scene/ground/scene/c03/s06_胖子卧室.tscn @@ -77,12 +77,6 @@ catty_light_energy = 0.5 player_movement_rect = Rect2(45, -158, 473, 316) facing_direction = Vector2(-1, 0) -[node name="CameraFocusMarker" parent="Ground" index="6"] -limit_left = 0 -limit_top = -158 -limit_right = 564 -limit_bottom = 158 - [node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"] position = Vector2(26, 0) texture = ExtResource("5_f527l") diff --git a/scene/ground/scene/c03/s07_屠宰间.tscn b/scene/ground/scene/c03/s07_屠宰间.tscn index cb50daf9..9a493342 100644 --- a/scene/ground/scene/c03/s07_屠宰间.tscn +++ b/scene/ground/scene/c03/s07_屠宰间.tscn @@ -130,6 +130,7 @@ unique_name_in_owner = true position = Vector2(316, 21) packed_scene = ExtResource("15_48a3r") quit_closeup_on_cancel = false +on_display_hide_hud = null [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"] script = ExtResource("17_e1lvl") diff --git a/scene/ground/scene/c03/s08_囚室.tscn b/scene/ground/scene/c03/s08_囚室.tscn index b0dc6e46..dc91d849 100644 --- a/scene/ground/scene/c03/s08_囚室.tscn +++ b/scene/ground/scene/c03/s08_囚室.tscn @@ -147,6 +147,7 @@ portal_name = "1" unique_name_in_owner = true position = Vector2(62, 20) packed_scene = ExtResource("9_w4bpd") +on_display_hide_hud = true [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup囚室门锁"] script = ExtResource("9_oka3h") @@ -157,6 +158,7 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s" [node name="Closeup囚室墙洞" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_jua84")] position = Vector2(276, 2) packed_scene = ExtResource("7_2jtaw") +on_display_hide_hud = true [node name="囚室墙洞海报" type="Sprite2D" parent="Ground/DeployLayer" index="5"] position = Vector2(277, 7) @@ -199,6 +201,7 @@ prop_key = "prop_转轮" visible = false position = Vector2(233, 86) packed_scene = ExtResource("17_06t0x") +on_display_hide_hud = true [node name="符纸" type="Sprite2D" parent="Ground/DeployLayer/Closeup符纸"] position = Vector2(-3.57628e-07, 6) diff --git a/scene/ground/scene/c03/s10_胖子游戏1.tscn b/scene/ground/scene/c03/s10_胖子游戏1.tscn index 4fc029ea..6c446c88 100644 --- a/scene/ground/scene/c03/s10_胖子游戏1.tscn +++ b/scene/ground/scene/c03/s10_胖子游戏1.tscn @@ -72,7 +72,7 @@ points = PackedVector2Array(30, 150, 978, 151) [node name="DirectionalLight2D" parent="Ground" index="8"] visible = false -energy = 0.2 +energy = 0.6 blend_mode = 1 [editable path="Ground"] diff --git a/scene/ground/scene/c03/s11_胖子游戏2.gd b/scene/ground/scene/c03/s11_胖子游戏2.gd index 532b2e6b..76d44eb0 100644 --- a/scene/ground/scene/c03/s11_胖子游戏2.gd +++ b/scene/ground/scene/c03/s11_胖子游戏2.gd @@ -14,13 +14,15 @@ func _ready() -> void: #region node_reference +var meat_hill: Node2D +var player: MainPlayer #endregion # 读取设置变量名 func _setup_node_reference() -> void: - pass - + meat_hill = $"../DeployLayer/肉山" as Node2D + player = SceneManager.get_player() as MainPlayer func _on_ground_ready() -> void: _check_first_enter() @@ -28,7 +30,52 @@ func _on_ground_ready() -> void: func _check_first_enter() -> void: if not data["has_entered"]: + var x = $"../DeployLayer/portal_left".global_position.x + SceneManager.get_player().global_position.x = x + SceneManager.get_player().set_facing_direction(Vector2.RIGHT) SceneManager.lock_player(0, 6, true) set_data("has_entered", true) await SceneManager.pause_and_hide_player_sprite(1.5) - SceneManager.unlock_player() \ No newline at end of file + await SceneManager.get_player().animation_finished + SceneManager.unlock_player() + + +func talk_with_npc() -> void: + SceneManager.lock_player() + $"../DeployLayer/Pro探子".flip_h = false + var camera = SceneManager.get_camera_marker() + DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_胖子游戏对白") + var tween = create_tween() + tween.tween_property(camera, "force_offset:x", 100.0, 2.0) + await DialogueManager.dialogue_ended + tween = create_tween() + tween.tween_property(camera, "force_offset:x", 0.0, 1.5) + await Util.wait(1.0) + SceneManager.unlock_player() + await Util.wait(2.0) + # 天上掉肉 + tween = create_tween() + meat_hill.global_position.x = player.global_position.x + var start_y = meat_hill.global_position.y + var target_y = player.global_position.y + # 伪自由落体(2.0 s),从 start_y tween 到 target_y + tween.tween_method(_drop_meat.bind(start_y, target_y), 0.0, 1.0, 1.0) + await tween.finished + camera.shake_camera() + SceneManager.lock_player() + # TODO + SceneManager.pop_debug_dialog_info("音效", "肉山掉落") + $"Sfx肉山掉落".play() + await Util.wait(3.0) + # 转场 + SceneManager.unlock_player() + SceneManager.get_ground_loader().transition_to_scene("c03_s12", "left") + + +func _drop_meat(progress: float, start_y: float, target_y: float) -> void: + # 伪自由落体(2.0 s),从 start_y tween 到 target_y + # progress 先慢后快 + progress = progress * progress * progress + var y = start_y + (target_y - start_y) * progress + meat_hill.global_position.y = y + meat_hill.global_position.x = player.global_position.x diff --git a/scene/ground/scene/c03/s11_胖子游戏2.tscn b/scene/ground/scene/c03/s11_胖子游戏2.tscn index d424342b..67c3c43d 100644 --- a/scene/ground/scene/c03/s11_胖子游戏2.tscn +++ b/scene/ground/scene/c03/s11_胖子游戏2.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=13 format=3 uid="uid://shgrg8qcr1cu"] +[gd_scene load_steps=20 format=3 uid="uid://shgrg8qcr1cu"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_lfcjf"] [ext_resource type="Script" uid="uid://fejtkano6pn7" path="res://scene/ground/scene/c03/s11_胖子游戏2.gd" id="2_lfcjf"] [ext_resource type="AudioStream" uid="uid://dvc2emnfcmabx" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道1.ogg" id="3_hx2uj"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_0w5fd"] +[ext_resource type="AudioStream" uid="uid://cv6aivf1jcvd3" path="res://asset/audio/mixkit/mixkit-meat-hit.ogg" id="5_k5x30"] [ext_resource type="Texture2D" uid="uid://b1t0o8vqwjirh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶.png" id="5_wqrgj"] [ext_resource type="SpriteFrames" uid="uid://ca8u6yx6rv0xm" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/c03_胖子游戏第三段_frames.tres" id="6_c73iv"] [ext_resource type="Texture2D" uid="uid://w4ep0mqmkfo0" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶洞口.png" id="6_hx2uj"] @@ -11,11 +12,17 @@ [ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="7_hx2uj"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_0w5fd"] [ext_resource type="Texture2D" uid="uid://c3gwj6ap8w7cj" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶文物.png" id="10_lyjg2"] +[ext_resource type="Texture2D" uid="uid://2hvfbno7wgjl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块4.png" id="12_0ry88"] +[ext_resource type="Texture2D" uid="uid://g3ohxmylc316" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块3.png" id="12_wi43b"] +[ext_resource type="Texture2D" uid="uid://bieyil13hhemh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块2.png" id="13_k5x30"] +[ext_resource type="Texture2D" uid="uid://85unc5qju4kl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块5.png" id="14_wks4o"] +[ext_resource type="SpriteFrames" uid="uid://dy8b8dmgv3mdd" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第二段/c03_胖子游戏第二段_frames.tres" id="17_novpu"] +[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="18_p0emk"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [node name="S11" type="Node2D"] -metadata/_edit_horizontal_guides_ = [-627.0] +metadata/_edit_horizontal_guides_ = [-627.0, 58.0] [node name="Ground" parent="." instance=ExtResource("1_lfcjf")] scene_name = "c03_s11" @@ -40,6 +47,12 @@ mode = "场景背景音" "感应玩家操作" = false metadata/_custom_type_script = "uid://rq6w1vuhuq1m" +[node name="Sfx肉山掉落" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] +stream = ExtResource("5_k5x30") +bus = &"game_sfx" +script = ExtResource("4_0w5fd") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="BGSprite2D" parent="Ground" index="2"] light_mask = 5 texture = ExtResource("5_wqrgj") @@ -64,14 +77,16 @@ target_scene = "c03_s12" target_portal = "left" [node name="Pro探子" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"] -position = Vector2(818, -27) +position = Vector2(1046.5, -7.5) sprite_frames = ExtResource("6_c73iv") animation = &"日本鬼子呼吸帧" +autoplay = "日本鬼子呼吸帧" +flip_h = true script = ExtResource("7_hx2uj") metadata/_custom_type_script = "uid://cphfob11f7atx" [node name="Pro水中肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="3"] -position = Vector2(1238, 58) +position = Vector2(1133, 73) sprite_frames = ExtResource("6_c73iv") animation = &"水中肉" autoplay = "水中肉" @@ -79,16 +94,106 @@ script = ExtResource("7_hx2uj") metadata/_custom_type_script = "uid://cphfob11f7atx" [node name="Ambush对话探子" parent="Ground/DeployLayer" index="4" instance=ExtResource("9_0w5fd")] -position = Vector2(767, 25) -hook_dialogue_res = "c03" -hook_dialogue_title = "c03_胖子游戏对白" +position = Vector2(995.5, 44.5) +hook_method = "talk_with_npc" [node name="文物" type="Sprite2D" parent="Ground/DeployLayer" index="5"] -position = Vector2(624, 62) +z_index = 10 +position = Vector2(624, 65) texture = ExtResource("10_lyjg2") +[node name="肉山" type="Node2D" parent="Ground/DeployLayer" index="6"] +z_index = 6 +position = Vector2(901, -214) + +[node name="天上掉的肉4" type="Sprite2D" parent="Ground/DeployLayer/肉山"] +position = Vector2(2.53979, -89.2959) +rotation = 0.307938 +texture = ExtResource("12_0ry88") + +[node name="天上掉的肉5" type="Sprite2D" parent="Ground/DeployLayer/肉山"] +position = Vector2(-27.4602, -67.2959) +rotation = -0.370446 +texture = ExtResource("13_k5x30") + +[node name="天上掉的肉" type="Sprite2D" parent="Ground/DeployLayer/肉山"] +position = Vector2(14.5398, -56.2959) +rotation = 0.138633 +texture = ExtResource("13_k5x30") + +[node name="天上掉的肉2" type="Sprite2D" parent="Ground/DeployLayer/肉山"] +position = Vector2(-43.4602, -32.2959) +rotation = -0.384091 +scale = Vector2(1, 1) +texture = ExtResource("14_wks4o") + +[node name="天上掉的肉3" type="Sprite2D" parent="Ground/DeployLayer/肉山"] +position = Vector2(-4.54016, -19.4051) +rotation = 0.0182861 +scale = Vector2(1, 1) +texture = ExtResource("12_wi43b") + +[node name="河里的手4" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="7"] +position = Vector2(1344, 17) +rotation = 1.5708 +scale = Vector2(0.6, 0.6) +sprite_frames = ExtResource("17_novpu") +animation = &"小手" +autoplay = "小手" +frame_progress = 0.390838 +speed_scale = 1.15 + +[node name="河里的手5" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"] +position = Vector2(1341, 68) +rotation = 1.5708 +sprite_frames = ExtResource("17_novpu") +animation = &"小手" +autoplay = "小手" +frame_progress = 0.390838 +speed_scale = 0.96 + +[node name="河里的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="9"] +position = Vector2(1078, 108) +rotation = 1.5708 +scale = Vector2(1.5, 1.5) +sprite_frames = ExtResource("17_novpu") +animation = &"小手" +autoplay = "小手" +frame_progress = 0.32264 +speed_scale = 0.85 + +[node name="河里的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="10"] +position = Vector2(1306, 129) +rotation = 1.5708 +scale = Vector2(2, 2) +sprite_frames = ExtResource("17_novpu") +animation = &"小手" +autoplay = "小手" +frame_progress = 0.390838 +speed_scale = 0.92 + +[node name="河里的手3" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="11"] +position = Vector2(1245, 37) +rotation = 1.5708 +scale = Vector2(0.8, 0.8) +sprite_frames = ExtResource("17_novpu") +animation = &"小手" +autoplay = "小手" +frame_progress = 0.390838 +speed_scale = 0.9 + +[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer" index="12"] +position = Vector2(1282, 100) +texture = ExtResource("18_p0emk") +texture_scale = 2.0 + +[node name="PointLight2D2" type="PointLight2D" parent="Ground/DeployLayer" index="13"] +position = Vector2(186, -158) +texture = ExtResource("18_p0emk") +texture_scale = 2.0 + [node name="MainPlayer" parent="Ground" index="5"] -position = Vector2(1186, 58) +position = Vector2(900, 58) character = "胖子游戏" player_movement_rect = Rect2(290, -158, 1110, 316) facing_direction = Vector2(1, 0) @@ -100,11 +205,10 @@ limit_right = 1500 offset = Vector2(0, 50) [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] -points = PackedVector2Array(290, 150, 1400, 151) +points = PackedVector2Array(290, 150, 1000, 151) [node name="DirectionalLight2D" parent="Ground" index="8"] -visible = false -energy = 0.2 +energy = 0.6 blend_mode = 1 [editable path="Ground"] diff --git a/scene/ground/scene/c03/s12_胖子游戏3.tscn b/scene/ground/scene/c03/s12_胖子游戏3.tscn index a56b9fe7..003d54a0 100644 --- a/scene/ground/scene/c03/s12_胖子游戏3.tscn +++ b/scene/ground/scene/c03/s12_胖子游戏3.tscn @@ -80,7 +80,7 @@ points = PackedVector2Array(30, 150, 850, 151) [node name="DirectionalLight2D" parent="Ground" index="8"] visible = false -energy = 0.2 +energy = 0.6 blend_mode = 1 [editable path="Ground"] diff --git a/scene/ground/scene/c03/s13_胖子游戏4.gd b/scene/ground/scene/c03/s13_胖子游戏4.gd new file mode 100644 index 00000000..3742c0ff --- /dev/null +++ b/scene/ground/scene/c03/s13_胖子游戏4.gd @@ -0,0 +1,45 @@ +@tool +extends AnimationRoot + + +# 覆盖该方法 +func _default_data() -> Dictionary: + return {} + + +func _ready() -> void: + super._ready() + if Engine.is_editor_hint(): + return + + +#region node_reference +#endregion + + +# 读取设置变量名 +func _setup_node_reference() -> void: + pass + + +func _on_ground_ready() -> void: + pass + + +func eat_meat() -> void: + SceneManager.lock_player() + $"../DeployLayer/Ambush吃肉".enabled = false + await SceneManager.get_player().walk_to_x(850.0).finished + # 第一帧没有瘦子,后面才有 + var player = SceneManager.get_player() as MainPlayer + var sprite = $"../DeployLayer/Pro吃肉" as ProAnimatedSprite2D + sprite.play() + sprite.frame = 1 + player.hide_sprite = true + await sprite.animation_finished + SceneManager.unlock_player() + # c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束 + EventManager.set_stage_if_greater("c03_meat_grinder", 2) + SceneManager.get_ground_loader().transition_to_scene("c03_s07", "2") + + diff --git a/scene/ground/scene/c03/s13_胖子游戏4.gd.uid b/scene/ground/scene/c03/s13_胖子游戏4.gd.uid new file mode 100644 index 00000000..2e1c0359 --- /dev/null +++ b/scene/ground/scene/c03/s13_胖子游戏4.gd.uid @@ -0,0 +1 @@ +uid://ddawqvg4fjxv6 diff --git a/scene/ground/scene/c03/s13_胖子游戏4.tscn b/scene/ground/scene/c03/s13_胖子游戏4.tscn new file mode 100644 index 00000000..fca3c7c1 --- /dev/null +++ b/scene/ground/scene/c03/s13_胖子游戏4.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=10 format=3 uid="uid://s6odh172gpbr"] + +[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_via7g"] +[ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_f2euj"] +[ext_resource type="AudioStream" uid="uid://dvc2emnfcmabx" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道1.ogg" id="3_ycw22"] +[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_1c2tq"] +[ext_resource type="Texture2D" uid="uid://brfbsaw6v35ru" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/胖子游戏第四段效果/0.png" id="5_olkfs"] +[ext_resource type="SpriteFrames" uid="uid://cb3b44a1jpybb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres" id="6_3jqsh"] +[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="7_qn0ib"] +[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="8_ir78c"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] + +[node name="S13" type="Node2D"] +metadata/_edit_horizontal_guides_ = [-627.0] + +[node name="Ground" parent="." instance=ExtResource("1_via7g")] +scene_name = "c03_s13" +display_hud = false +player_y = 63 +footstep_type = "胖子游戏" + +[node name="AnimationPlayer" parent="Ground" index="0"] +libraries = { +&"": SubResource("AnimationLibrary_k01ve") +} +script = ExtResource("2_f2euj") + +[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] +stream = ExtResource("3_ycw22") +volume_db = -5.0 +autoplay = true +bus = &"game_sfx" +script = ExtResource("4_1c2tq") +mode = "场景背景音" +"循环播放" = true +"感应玩家操作" = false +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + +[node name="BGSprite2D" parent="Ground" index="2"] +light_mask = 5 +texture = ExtResource("5_olkfs") +offset = Vector2(0, -158) + +[node name="portal_left" parent="Ground/DeployLayer" index="0"] +position = Vector2(69, 21) + +[node name="portal_right" parent="Ground/DeployLayer" index="1"] +position = Vector2(1392, -9) + +[node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"] +position = Vector2(850, 95) +sprite_frames = ExtResource("6_3jqsh") +animation = &"爬绞肉机最终的" +offset = Vector2(88, -105) +script = ExtResource("7_qn0ib") +metadata/_custom_type_script = "uid://cphfob11f7atx" + +[node name="Ambush吃肉" parent="Ground/DeployLayer" index="3" instance=ExtResource("8_ir78c")] +position = Vector2(842, 54) +sign_mark_offset = Vector2(39, -9) +trigger_mode = "interact" +one_shot = false +hook_method = "eat_meat" + +[node name="MainPlayer" parent="Ground" index="5"] +position = Vector2(69, 95) +character = "胖子游戏" +player_movement_rect = Rect2(30, -158, 820, 316) +facing_direction = Vector2(1, 0) + +[node name="CameraFocusMarker" parent="Ground" index="6"] +limit_right = 1200 + +[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"] +offset = Vector2(0, 50) + +[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] +points = PackedVector2Array(30, 150, 850, 151) + +[node name="DirectionalLight2D" parent="Ground" index="8"] +visible = false +energy = 0.6 +blend_mode = 1 + +[editable path="Ground"] diff --git a/scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd b/scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd index 2a6eec80..6580a137 100644 --- a/scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd +++ b/scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd @@ -25,6 +25,7 @@ const start_x = 2236.0 @onready var xchan = $"Pro小蝉" as ProAnimatedSprite2D func _start_well_show() -> void: + SceneManager.toggle_hud_display(false) xchan.modulate.a = 0.0 var player = SceneManager.get_player() SceneManager.lock_player() @@ -32,7 +33,11 @@ func _start_well_show() -> void: player.set_facing_direction(Vector2.LEFT) # c02_吕萍_背靠呼吸 player.player_action(20, false) - await Util.wait(3.5) + # 多坐一会 + await Util.wait(6.5) + # c02_吕萍_背靠起身 + await player.player_action(19, true) + await Util.wait(2.0) var tween = create_tween() tween.tween_property(xchan, "modulate:a", 1.0, 1.0) await tween.finished @@ -46,9 +51,8 @@ func _start_well_show() -> void: EventManager.set_stage_if_greater("c03_well_show", 2) create_tween().tween_property(xchan, "modulate:a", 0.0, 0.5) await Util.wait(1.0) - # c02_吕萍_背靠起身 - await player.player_action(19, true) SceneManager.unlock_player() + SceneManager.toggle_hud_display(true) func _on_pre_stage_updated() -> void: diff --git a/scene/ground/script/c03/s03_event_2d癞子剪辫子.gd b/scene/ground/script/c03/s03_event_2d癞子剪辫子.gd index 042e7580..c4f21159 100644 --- a/scene/ground/script/c03/s03_event_2d癞子剪辫子.gd +++ b/scene/ground/script/c03/s03_event_2d癞子剪辫子.gd @@ -28,6 +28,7 @@ func _on_stage_updated() -> void: func start_show() -> void: + SceneManager.toggle_hud_display(false) SceneManager.lock_player() # 隐藏玩家 SceneManager.get_player().visible = false @@ -48,3 +49,4 @@ func start_show() -> void: SceneManager.focus_player_and_reset_zoom() SceneManager.get_player().visible = true SceneManager.unlock_player() + SceneManager.toggle_hud_display(true) diff --git a/scene/ground/script/c03/s04_closeup柜子.gd b/scene/ground/script/c03/s04_closeup柜子.gd index 1dfc5fad..036b5e6e 100644 --- a/scene/ground/script/c03/s04_closeup柜子.gd +++ b/scene/ground/script/c03/s04_closeup柜子.gd @@ -3,8 +3,12 @@ extends CanvasLayer @warning_ignore("unused_signal") signal exit(arg) +@onready var drug_spec +@onready var bowl + func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME # TODO 拿药方后,启动 drug game EventManager.set_stage("c03_drug_game", 1) + diff --git a/scene/ground/script/c03/s04_closeup柜子.tscn b/scene/ground/script/c03/s04_closeup柜子.tscn index 695e0055..1aa833aa 100644 --- a/scene/ground/script/c03/s04_closeup柜子.tscn +++ b/scene/ground/script/c03/s04_closeup柜子.tscn @@ -27,7 +27,16 @@ texture = ExtResource("3_d7uum") [node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")] position = Vector2(442, 181) +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover药方"] +polygon = PackedVector2Array(95.5, -70.5, -17.3, -70.5, -18.6, -68.5, -19.9, -68.5, -22.5, -60.8, -22.5, -58.2, -45.6, -23.5, -46.8, -23.5, -53.5, -7.9, -53.5, -5, -69.5, 22, -69.5, 23.8, -90.5, 56.9, -90.5, 58.4, -95.2, 61.5, -95.5, 70.5, 38.9, 70.5, 43.1, 67.5, 46.6, 67.5, 62.6, 43.5, 64, 43.5, 95.5, -54.3) + [node name="药方" type="Sprite2D" parent="Hover药方"] +light_mask = 3 +texture = ExtResource("5_rmoey") + +[node name="PointLight2D" type="PointLight2D" parent="Hover药方"] +range_layer_max = 10 +range_item_cull_mask = 2 texture = ExtResource("5_rmoey") [node name="碗" type="Sprite2D" parent="."] @@ -37,7 +46,17 @@ texture = ExtResource("7_qfnr1") [node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")] position = Vector2(-69, -40) +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="碗/Hover麻将"] +polygon = PackedVector2Array(17.5, -41.5, -17.3, -41.5, -20.3, -38.5, -22.3, -38.5, -35.4, -26.5, -37.1, -26.5, -37.5, -24.8, -37.5, -13.2, -33.1, -10.5, -32.2, -10.5, -24.5, 33.8, -24.5, 38.6, -20.2, 41.5, 11.3, 41.5, 37.1, 25.5, 37.5, 10.1, 17.5, -40) + [node name="麻将" type="Sprite2D" parent="碗/Hover麻将"] +light_mask = 3 +texture = ExtResource("9_gdtfm") + +[node name="PointLight2D" type="PointLight2D" parent="碗/Hover麻将"] +energy = 1.5 +range_layer_max = 10 +range_item_cull_mask = 2 texture = ExtResource("9_gdtfm") [node name="遮罩" type="TextureRect" parent="."] diff --git a/scene/ground/script/c03/二章结尾回忆.tscn b/scene/ground/script/c03/二章结尾回忆.tscn index d4fcd902..40f23490 100644 --- a/scene/ground/script/c03/二章结尾回忆.tscn +++ b/scene/ground/script/c03/二章结尾回忆.tscn @@ -179,7 +179,7 @@ frame_progress = 1.0 [node name="TimerBlink" type="Timer" parent="小蝉特写branch/小蝉特写/眨眼"] unique_name_in_owner = true -wait_time = 5.0 +wait_time = 4.0 autostart = true [node name="手拿弹珠" type="AnimatedSprite2D" parent="小蝉特写branch"]