From 6a85f37e7b5dbbd5ed2b60247b20b7ba39616444 Mon Sep 17 00:00:00 2001 From: cakipaul Date: Thu, 7 Aug 2025 15:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=83=96=E5=AD=90=E6=B8=B8?= =?UTF-8?q?=E6=88=8F3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asset/dialogue/item_description.csv | 9 + asset/dialogue/item_description.dialogue | 9 + scene/character/player_animation_config.gd | 8 +- scene/ground/camera/camera_focus_marker.gd | 8 + scene/ground/scene/c03/s10_胖子游戏1.tscn | 2 + scene/ground/scene/c03/s12_胖子游戏3.gd | 82 ++++++- scene/ground/scene/c03/s12_胖子游戏3.tscn | 252 +++++++++++---------- 7 files changed, 244 insertions(+), 126 deletions(-) diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index 65763fc2..60823832 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -284,8 +284,17 @@ c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,, c03_药方内容,生姜两片{br}竹叶十片去尖{br}经霜三年的甘蔗{br}蟋蟀一对 注:要原配,即本在一窠中者{br}金钱鼠尾辫一副 注:生剪 烧成灰兑水送服,,,,, c03_s04_柜子照片,吾唯一至亲 李二弟,,,,, c03_s06_没贴的寻人启事,没贴的寻人启事,,,,, +c03_s07_胖子游戏结束,张文开...文开...{br}方...小蝉...{br}绞肉机...,,,,, c03_s08_囚室绳子,绑得很死,直接解不开绳子。,,,,, c03_s08_囚室醒过来,?这里是,,,,, c03_s08_囚室看到脚印,?又是脚印,,,,, c03_s08_囚室符纸,妖物者,本自造化而生,具灵识,知求生,与万类本无别。人言有异,是以别之。,,,,, c03_s09_胖子干尸,?胖子干尸,,,,, +c03_s12_label1,[wave]太瘦弱会被吃掉的![/wave],,,,, +c03_s12_label2,[wave]不够...还不够...[/wave],,,,, +c03_s12_label3,[wave]活着[/wave],,,,, +c03_s12_label4,[wave]太瘦弱了...[/wave],,,,, +c03_s12_label5,[wave]已经...回不了头了。[/wave],,,,, +c03_s12_label6,[wave]将她交给我,方能保你平安[/wave],,,,, +c03_s12_label7,[wave]反正...都一样吧[/wave],,,,, +c03_s12_label8,[wave]又嫩又甜[/wave],,,,, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index 0bc119e8..9aaa3425 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -377,6 +377,15 @@ 妖物者,本自造化而生,具灵识,知求生,与万类本无别。人言有异,是以别之。 [ID:c03_s08_囚室符纸] # s09 棺材房 ?胖子干尸 [ID:c03_s09_胖子干尸] +# s10-12 胖子游戏1-3 +[wave]太瘦弱会被吃掉的![/wave] [ID:c03_s12_label1] +[wave]不够...还不够...[/wave] [ID:c03_s12_label2] +[wave]活着[/wave] [ID:c03_s12_label3] +[wave]太瘦弱了...[/wave] [ID:c03_s12_label4] +[wave]已经...回不了头了。[/wave] [ID:c03_s12_label5] +[wave]将她交给我,方能保你平安[/wave] [ID:c03_s12_label6] +[wave]反正...都一样吧[/wave] [ID:c03_s12_label7] +[wave]又嫩又甜[/wave] [ID:c03_s12_label8] => END diff --git a/scene/character/player_animation_config.gd b/scene/character/player_animation_config.gd index 5c013ad9..6cb7af5f 100644 --- a/scene/character/player_animation_config.gd +++ b/scene/character/player_animation_config.gd @@ -195,8 +195,8 @@ var ANIMATION_CONFIG = { "speed_runnig": 150.0, "walk_footstep": 0.5, "run_footstep": 0.5, - "os_height": 70.0, - "light_height": 20.0, + "os_height": 130.0, + "light_height": 70.0, # 如果使用 auto,就会自动以最低点为基准 # "auto_foot_offset": true, "foot_offset": Vector2(0, -51.0), @@ -217,8 +217,8 @@ var ANIMATION_CONFIG = { "speed_runnig": 100.0, "walk_footstep": 0.5, "run_footstep": 7.0 / 9.0 / 2.0, - "os_height": 70.0, - "light_height": 20.0, + "os_height": 80.0, + "light_height": 40.0, # 如果使用 auto,就会自动以最低点为基准 # "auto_foot_offset": true, "foot_offset": Vector2(0, -68.0), diff --git a/scene/ground/camera/camera_focus_marker.gd b/scene/ground/camera/camera_focus_marker.gd index f7ba2a30..3755f589 100644 --- a/scene/ground/camera/camera_focus_marker.gd +++ b/scene/ground/camera/camera_focus_marker.gd @@ -64,6 +64,14 @@ func reset_position_immediately(): print("CameraFocusMarker reset_position_immediately to:", global_position) +func set_force_offset_to_target() -> void: + var target_position = focusing_node.global_position + _tweeked_position + if focusing_node is MainPlayer: + # player 的焦点在脚底,所以需要偏移 player 的高度。注意 y 轴是向下的,所以是减去 player 的高度 + target_position.y -= focusing_node.current_animation_config.os_height * 0.7 + force_offset = global_position - target_position + + func tweak_position(velocity, facing_direction): var ideal_x = facing_direction.x * min(50.0, 0.5 * abs(velocity.x)) var current_x = _tweeked_position.x diff --git a/scene/ground/scene/c03/s10_胖子游戏1.tscn b/scene/ground/scene/c03/s10_胖子游戏1.tscn index 19c28dd2..f1bbb84d 100644 --- a/scene/ground/scene/c03/s10_胖子游戏1.tscn +++ b/scene/ground/scene/c03/s10_胖子游戏1.tscn @@ -289,6 +289,7 @@ offset_bottom = -7.0 [node name="被砍断的文字1" type="RichTextLabel" parent="Ground/DeployLayer/Control"] custom_minimum_size = Vector2(200, 0) +layout_mode = 0 offset_left = -206.0 offset_top = -18.0 offset_right = -6.0 @@ -305,6 +306,7 @@ metadata/_edit_use_anchors_ = true [node name="被砍断的文字2" type="RichTextLabel" parent="Ground/DeployLayer/Control"] custom_minimum_size = Vector2(200, 0) +layout_mode = 0 offset_left = 4.0 offset_top = -17.0 offset_right = 204.0 diff --git a/scene/ground/scene/c03/s12_胖子游戏3.gd b/scene/ground/scene/c03/s12_胖子游戏3.gd index 631a9143..72cd5ddc 100644 --- a/scene/ground/scene/c03/s12_胖子游戏3.gd +++ b/scene/ground/scene/c03/s12_胖子游戏3.gd @@ -15,10 +15,10 @@ func _ready() -> void: #region node_reference var collapse_sprite: AnimatedSprite2D +var ambush_collapse: Ambush2D var final_meat_ambush: Ambush2D var final_meat_sprite: AnimatedSprite2D var final_label - #endregion @@ -28,6 +28,8 @@ func _setup_node_reference() -> void: final_meat_ambush = $"../DeployLayer/Ambush最终吃肉" final_meat_sprite = $"../DeployLayer/Ambush最终吃肉/Pro吃肉" final_label = $"../CanvasLayer/最终吃肉" + ambush_collapse = $"../DeployLayer/Ambush小孩山塌了" + func _on_ground_ready() -> void: # 设置相机范围 @@ -35,7 +37,8 @@ func _on_ground_ready() -> void: var right_x = player.player_movement_rect.size.x var rect := Rect2i(0, -158, int(right_x) + 320, 316) SceneManager.get_camera_marker().apply_limits(rect) - + # 玩家不能超过 ambush_collapse 位置 + player.global_position.x = min(player.global_position.x, ambush_collapse.global_position.x) # 处理 Ambush肉1 节点 for i in range(1, 4): var node = get_node("../DeployLayer/Ambush肉" + str(i)) as Ambush2D @@ -52,21 +55,52 @@ func _disable_wall_on_meat(meat_node) -> void: func _on_eat_meat_triggered(node) -> void: _disable_wall_on_meat(node) + _tween_display_label(node) var player = SceneManager.get_player() SceneManager.lock_player(0, 8) var tween = create_tween() tween.tween_interval(0.9) - tween.tween_property(node, "modulate:a", 0.0, 1.0) + tween.tween_property(node, "self_modulate:a", 0.0, 1.0) await player.animation_finished SceneManager.unlock_player() +func _tween_display_label(node) -> void: + var label = node.get_node("Label") + label.modulate.a = 0.0 + label.show() + var tween = create_tween() + tween.tween_property(label, "modulate:a", 1.0, 0.5) + tween.tween_interval(3.5) + tween.tween_property(label, "modulate:a", 0.0, 0.5) + + +func label_ambush1() -> void: + var ambush = $"../DeployLayer/AmbushLabel1" + _tween_display_label(ambush) + + +func label_ambush2() -> void: + var ambush = $"../DeployLayer/AmbushLabel2" + _tween_display_label(ambush) + + +func label_ambush3() -> void: + var ambush = $"../DeployLayer/AmbushLabel3" + _tween_display_label(ambush) + + func eat_meat() -> void: + final_label.show() + final_label.modulate.a = 0.0 final_meat_ambush.enabled = false - var light_pivot = $"../DeployLayer/LightPivot" + var light_pivot = $"../DeployLayer/Ambush最终吃肉/LightPivot" SceneManager.lock_player() var x = final_meat_sprite.global_position.x await SceneManager.get_player().walk_to_x(x).finished + var tween = create_tween() + tween.tween_interval(1.0) + tween.tween_property(final_label, "modulate:a", 1.0, 2.5) # 第一帧没有瘦子,后面才有 var player = SceneManager.get_player() as MainPlayer player.reparent_light(light_pivot) @@ -82,11 +116,45 @@ func eat_meat() -> void: func collapse() -> void: - $"../DeployLayer/Ambush小孩山塌了".enabled = false + var player = SceneManager.get_player() + ambush_collapse.enabled = false + # 交互之后,启用 final_meat_ambush + final_meat_ambush.enabled = true + SceneManager.lock_player() + var label = $"../DeployLayer/都一样" + label.modulate.a = 0.0 + label.show() + var camera := SceneManager.get_camera_marker() as CameraFocusMarker + var default_limit_rect := camera.default_camera_rect + var limit_rect := camera.default_camera_rect + limit_rect.position.y -= 100 + limit_rect.size.y += 100 + camera.apply_limits(limit_rect) + if GlobalConfig.DEBUG: + print("camera limit_rect:", limit_rect) + var tween + create_tween().tween_property(label, "modulate:a", 1.0, 2.0) + await Util.wait(1.0) + Util.timer(1.0, camera.tween_zoom.bind(1.05, 2.0)) + camera.set_force_offset_to_target() + var target_offset = ambush_collapse.get_node("CameraPivot").global_position - player.global_position + tween = create_tween() + tween.tween_property(camera, "force_offset", target_offset, 3.0) + tween.tween_interval(1.0) + await tween.finished collapse_sprite.play() $"Sfx山塌了".play() #TODO SceneManager.pop_debug_dialog_info("音效", "山塌了") - # 交互之后,启用 final_meat_ambush - final_meat_ambush.enabled = true + await Util.wait(1.5) + camera.shake_camera() + tween = create_tween() + tween.tween_interval(3.0) + tween.tween_callback(camera.tween_zoom.bind(1.0, 1.5)) + tween.tween_property(camera, "force_offset", Vector2.ZERO, 2.0) + await tween.finished + SceneManager.unlock_player() + camera.apply_limits(default_limit_rect) + create_tween().tween_property(label, "modulate:a", 0.0, 1.0) + \ No newline at end of file diff --git a/scene/ground/scene/c03/s12_胖子游戏3.tscn b/scene/ground/scene/c03/s12_胖子游戏3.tscn index 88dc3e2d..3d1734e4 100644 --- a/scene/ground/scene/c03/s12_胖子游戏3.tscn +++ b/scene/ground/scene/c03/s12_胖子游戏3.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=24 format=3 uid="uid://cxabqg87g4vxc"] +[gd_scene load_steps=23 format=3 uid="uid://cxabqg87g4vxc"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ly8ge"] [ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_c01lu"] @@ -9,7 +9,6 @@ [ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="9_vyyx8"] [ext_resource type="SpriteFrames" uid="uid://cb3b44a1jpybb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres" id="10_7x1vi"] [ext_resource type="Texture2D" uid="uid://dd8vkws24b5vy" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山后 可以和背景移动速度不一样 循环贴图.png" id="10_47wdn"] -[ext_resource type="Texture2D" uid="uid://q3n7lw1ngoqh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/遮罩 循环贴图.png" id="10_bi3i1"] [ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="11_mr0pm"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="11_sul0a"] [ext_resource type="Texture2D" uid="uid://dpt0s2ujvcjs5" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山前 可以和背景移动速度不一样 循环贴图.png" id="11_vyyx8"] @@ -25,14 +24,14 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("DeployLayer/LightPivot:position") +tracks/0/path = NodePath("DeployLayer/Ambush最终吃肉/LightPivot:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(850, 95)] +"values": [Vector2(0, 95)] } tracks/1/type = "value" tracks/1/imported = false @@ -66,14 +65,14 @@ capture_included = true tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("DeployLayer/LightPivot:position") +tracks/0/path = NodePath("DeployLayer/Ambush最终吃肉/LightPivot:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.42, 0.7, 3.31, 4.75, 5.79, 9.4, 9.68, 10), +"times": PackedFloat32Array(0, 0.433333, 0.7, 3.31, 4.75, 5.79, 9.4, 9.68, 10), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [Vector2(850, 95), Vector2(875, 75), Vector2(892, 47), Vector2(940, 20), Vector2(944, 21), Vector2(959, 11), Vector2(977, -13), Vector2(977, 13), Vector2(968, 176)] +"values": [Vector2(0, 95), Vector2(25, 95), Vector2(42, 77), Vector2(90, 50), Vector2(105, 51), Vector2(109, 51), Vector2(127, 27), Vector2(127, 53), Vector2(118, 216)] } tracks/1/type = "value" tracks/1/imported = false @@ -109,7 +108,7 @@ _data = { [sub_resource type="RectangleShape2D" id="RectangleShape2D_y18rp"] [node name="S12" type="Node2D"] -metadata/_edit_horizontal_guides_ = [-627.0, 103.0, 63.0] +metadata/_edit_horizontal_guides_ = [-627.0, 103.0, 63.0, -120.0, -158.0] [node name="Ground" parent="." instance=ExtResource("1_ly8ge")] scene_name = "c03_s12" @@ -148,12 +147,32 @@ offset = Vector2(0, -158) position = Vector2(69, 21) [node name="portal_right" parent="Ground/DeployLayer" index="1"] -position = Vector2(4346, 37) +position = Vector2(7496, 3) -[node name="Ambush肉1" parent="Ground/DeployLayer" index="2" instance=ExtResource("11_sul0a")] -position = Vector2(923, 85) +[node name="AmbushLabel1" parent="Ground/DeployLayer" index="2" instance=ExtResource("11_sul0a")] +position = Vector2(609, 26) +hook_method = "label_ambush1" + +[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"] +visible = false +custom_minimum_size = Vector2(500, 0) +offset_left = -157.0 +offset_top = -114.0 +offset_right = 343.0 +offset_bottom = -73.0 +theme_override_colors/default_color = Color(1, 0, 0, 1) +theme_override_fonts/normal_font = ExtResource("11_mr0pm") +theme_override_font_sizes/normal_font_size = 40 +bbcode_enabled = true +text = "c03_s12_label4" +fit_content = true +horizontal_alignment = 1 + +[node name="Ambush肉1" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")] +z_index = 6 +position = Vector2(1295, 89) texture = ExtResource("14_vyyx8") -offset = Vector2(13, 0) +offset = Vector2(20, 0) trigger_mode = "interact" [node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Ambush肉1"] @@ -165,6 +184,7 @@ collision_mask = 0 shape = SubResource("RectangleShape2D_y18rp") [node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉1"] +visible = false custom_minimum_size = Vector2(1000, 0) offset_left = -474.0 offset_top = -169.0 @@ -174,14 +194,34 @@ theme_override_colors/default_color = Color(1, 0, 0, 1) theme_override_fonts/normal_font = ExtResource("11_mr0pm") theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true -text = "[wave]太瘦弱会被吃掉的![/wave]" +text = "c03_s12_label1" fit_content = true horizontal_alignment = 1 -[node name="Ambush肉2" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")] -position = Vector2(1443, 84) +[node name="AmbushLabel2" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")] +position = Vector2(1896, 37) +hook_method = "label_ambush2" + +[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"] +visible = false +custom_minimum_size = Vector2(500, 0) +offset_left = -143.0 +offset_top = -122.0 +offset_right = 357.0 +offset_bottom = -81.0 +theme_override_colors/default_color = Color(1, 0, 0, 1) +theme_override_fonts/normal_font = ExtResource("11_mr0pm") +theme_override_font_sizes/normal_font_size = 40 +bbcode_enabled = true +text = "c03_s12_label5" +fit_content = true +horizontal_alignment = 1 + +[node name="Ambush肉2" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")] +z_index = 6 +position = Vector2(2700, 88) texture = ExtResource("12_mr0pm") -offset = Vector2(20, 0) +offset = Vector2(27, 0) trigger_mode = "interact" [node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Ambush肉2"] @@ -193,6 +233,7 @@ collision_mask = 0 shape = SubResource("RectangleShape2D_y18rp") [node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉2"] +visible = false custom_minimum_size = Vector2(500, 0) offset_left = -204.0 offset_top = -166.0 @@ -202,14 +243,15 @@ theme_override_colors/default_color = Color(1, 0, 0, 1) theme_override_fonts/normal_font = ExtResource("11_mr0pm") theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true -text = "[wave]不够...还不够...[/wave]" +text = "c03_s12_label2" fit_content = true horizontal_alignment = 1 -[node name="Ambush肉3" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")] -position = Vector2(2016, 85) +[node name="Ambush肉3" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")] +z_index = 6 +position = Vector2(3736, 89) texture = ExtResource("15_7x1vi") -offset = Vector2(37, 0) +offset = Vector2(43, 0) trigger_mode = "interact" collision_width_and_x = Vector2(44.19, 0) @@ -221,7 +263,8 @@ collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Ambush肉3/StaticBody2D"] shape = SubResource("RectangleShape2D_y18rp") -[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉3"] +[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉3"] +visible = false custom_minimum_size = Vector2(500, 0) offset_left = -232.0 offset_top = -165.0 @@ -231,20 +274,63 @@ theme_override_colors/default_color = Color(1, 0, 0, 1) theme_override_fonts/normal_font = ExtResource("11_mr0pm") theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true -text = "[wave]活着[/wave]" +text = "c03_s12_label3" fit_content = true horizontal_alignment = 1 -[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")] -position = Vector2(4000, 54) -sign_mark_offset = Vector2(39, -9) +[node name="AmbushLabel3" parent="Ground/DeployLayer" index="7" instance=ExtResource("11_sul0a")] +position = Vector2(4621, 52) +hook_method = "label_ambush3" + +[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"] +visible = false +custom_minimum_size = Vector2(500, 0) +offset_left = -101.0 +offset_top = -123.0 +offset_right = 399.0 +offset_bottom = -82.0 +theme_override_colors/default_color = Color(1, 0, 0, 1) +theme_override_fonts/normal_font = ExtResource("11_mr0pm") +theme_override_font_sizes/normal_font_size = 40 +bbcode_enabled = true +text = "c03_s12_label6" +fit_content = true +horizontal_alignment = 1 + +[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="8" instance=ExtResource("11_sul0a")] +position = Vector2(5579.84, 32.01) +trigger_mode = "interact" +one_shot = false +hook_method = "collapse" + +[node name="CameraPivot" type="Marker2D" parent="Ground/DeployLayer/Ambush小孩山塌了"] +position = Vector2(66.1602, 3.99001) + +[node name="都一样" type="RichTextLabel" parent="Ground/DeployLayer" index="9"] +visible = false +custom_minimum_size = Vector2(500, 0) +offset_left = 5401.0 +offset_top = -69.0 +offset_right = 5901.0 +offset_bottom = -28.0 +theme_override_colors/default_color = Color(1, 0, 0, 1) +theme_override_fonts/normal_font = ExtResource("11_mr0pm") +theme_override_font_sizes/normal_font_size = 40 +bbcode_enabled = true +text = "c03_s12_label7" +fit_content = true +horizontal_alignment = 1 + +[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")] +position = Vector2(7001, 0) +sign_mark_offset = Vector2(36.02, 34.08) enabled = false trigger_mode = "interact" one_shot = false hook_method = "eat_meat" [node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush最终吃肉"] -position = Vector2(8, 41) +position = Vector2(8, 95) sprite_frames = ExtResource("10_7x1vi") animation = &"爬绞肉机最终的" offset = Vector2(88, -105) @@ -252,79 +338,8 @@ script = ExtResource("9_vyyx8") autostart = false metadata/_custom_type_script = "uid://cphfob11f7atx" -[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")] -position = Vector2(2981, 32) -trigger_mode = "interact" -one_shot = false -hook_method = "collapse" - -[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer" index="7"] -position = Vector2(850, 95) - -[node name="AmbushLabel1" parent="Ground/DeployLayer" index="8" instance=ExtResource("11_sul0a")] -position = Vector2(707, 29) - -[node name="太瘦弱" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"] -custom_minimum_size = Vector2(500, 0) -offset_left = -250.0 -offset_top = -114.0 -offset_right = 250.0 -offset_bottom = -73.0 -theme_override_colors/default_color = Color(1, 0, 0, 1) -theme_override_fonts/normal_font = ExtResource("11_mr0pm") -theme_override_font_sizes/normal_font_size = 40 -bbcode_enabled = true -text = "[wave]太瘦弱了...[/wave]" -fit_content = true -horizontal_alignment = 1 - -[node name="AmbushLabel2" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_sul0a")] -position = Vector2(1182, 60) - -[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"] -custom_minimum_size = Vector2(500, 0) -offset_left = -192.0 -offset_top = -147.0 -offset_right = 308.0 -offset_bottom = -106.0 -theme_override_colors/default_color = Color(1, 0, 0, 1) -theme_override_fonts/normal_font = ExtResource("11_mr0pm") -theme_override_font_sizes/normal_font_size = 40 -bbcode_enabled = true -text = "[wave]已经...回不了头了。[/wave]" -fit_content = true -horizontal_alignment = 1 - -[node name="AmbushLabel3" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")] -position = Vector2(2504, 48) - -[node name="血" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"] -custom_minimum_size = Vector2(500, 0) -offset_left = -192.0 -offset_top = -147.0 -offset_right = 308.0 -offset_bottom = -106.0 -theme_override_colors/default_color = Color(1, 0, 0, 1) -theme_override_fonts/normal_font = ExtResource("11_mr0pm") -theme_override_font_sizes/normal_font_size = 40 -bbcode_enabled = true -text = "[wave]浇洒髫年血,将她交给我,方能保你平安[/wave]" -fit_content = true -horizontal_alignment = 1 - -[node name="都一样吧" type="RichTextLabel" parent="Ground/DeployLayer" index="11"] -custom_minimum_size = Vector2(500, 0) -offset_left = 2805.0 -offset_top = -61.0 -offset_right = 3305.0 -offset_bottom = -20.0 -theme_override_colors/default_color = Color(1, 0, 0, 1) -theme_override_fonts/normal_font = ExtResource("11_mr0pm") -theme_override_font_sizes/normal_font_size = 40 -bbcode_enabled = true -text = "[wave]反正...都一样吧[/wave]" -fit_content = true -horizontal_alignment = 1 +[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer/Ambush最终吃肉"] +position = Vector2(0, 95) [node name="MainPlayer" parent="Ground" index="5"] position = Vector2(69, 103) @@ -339,7 +354,7 @@ limit_right = 1200 offset = Vector2(0, 50) [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] -points = PackedVector2Array(30, 150, 4000, 151) +points = PackedVector2Array(30, 150, 7000, 151) [node name="DirectionalLight2D" parent="Ground" index="8"] energy = 0.6 @@ -349,18 +364,19 @@ range_layer_max = 10 [node name="ParallaxBackground" type="ParallaxBackground" parent="Ground"] layer = -3 +scroll_ignore_camera_zoom = true [node name="底图" type="ParallaxLayer" parent="Ground/ParallaxBackground"] z_index = -10 -motion_scale = Vector2(0.3, 1) -motion_mirroring = Vector2(1200, 0) +motion_scale = Vector2(0.3, 0.5) +motion_mirroring = Vector2(1200, 316) [node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/底图"] light_mask = 1025 texture = ExtResource("9_mr0pm") [node name="PointLight2D底" type="PointLight2D" parent="Ground/ParallaxBackground/底图"] -position = Vector2(282, -53) +position = Vector2(282, -39) energy = 0.5 range_layer_min = -5 range_item_cull_mask = 1024 @@ -369,7 +385,8 @@ texture_scale = 1.1 [node name="后山" type="ParallaxLayer" parent="Ground/ParallaxBackground"] z_index = -10 -motion_scale = Vector2(0.5, 1) +position = Vector2(0, 40) +motion_scale = Vector2(0.5, 0.8) motion_mirroring = Vector2(1134, 0) [node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/后山"] @@ -377,7 +394,7 @@ light_mask = 2049 texture = ExtResource("10_47wdn") [node name="PointLight2D底_后" type="PointLight2D" parent="Ground/ParallaxBackground/后山"] -position = Vector2(205, -87) +position = Vector2(205, -56) energy = 0.3 range_layer_min = -5 range_item_cull_mask = 3072 @@ -386,8 +403,8 @@ texture_scale = 0.8 [node name="前山" type="ParallaxLayer" parent="Ground/ParallaxBackground"] z_index = -10 -position = Vector2(0, 16) -motion_scale = Vector2(0.8, 1) +position = Vector2(0, 20) +motion_scale = Vector2(0.8, 0.9) motion_mirroring = Vector2(1200, 0) [node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/前山"] @@ -395,7 +412,7 @@ light_mask = 4097 texture = ExtResource("11_vyyx8") [node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground/前山"] -position = Vector2(307, -141) +position = Vector2(259, -77) energy = 0.3 range_layer_min = -5 range_item_cull_mask = 7168 @@ -407,13 +424,22 @@ layer = -1 [node name="山前地后" type="ParallaxLayer" parent="Ground/ParallaxBackground2"] [node name="小孩山塌了" type="AnimatedSprite2D" parent="Ground/ParallaxBackground2/山前地后"] -position = Vector2(3000, -73) +light_mask = 1025 +position = Vector2(5642.84, -25.99) sprite_frames = ExtResource("10_7x1vi") animation = &"小孩山塌了" +offset = Vector2(-47.84, -0.01) script = ExtResource("9_vyyx8") autostart = false metadata/_custom_type_script = "uid://cphfob11f7atx" +[node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground2/山前地后/小孩山塌了"] +position = Vector2(51, 134) +range_layer_min = -5 +range_item_cull_mask = 7168 +texture = ExtResource("13_vyyx8") +texture_scale = 1.5 + [node name="地面" type="ParallaxLayer" parent="Ground/ParallaxBackground2"] position = Vector2(0, 101) motion_mirroring = Vector2(1200, 0) @@ -421,11 +447,6 @@ motion_mirroring = Vector2(1200, 0) [node name="地面" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"] texture = ExtResource("9_fjio5") -[node name="遮罩" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"] -modulate = Color(0.14902, 0.14902, 0.14902, 0.533333) -position = Vector2(0, -101) -texture = ExtResource("10_bi3i1") - [node name="肉1" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"] position = Vector2(-143, -48) texture = ExtResource("11_y18rp") @@ -449,6 +470,7 @@ texture = ExtResource("15_7x1vi") [node name="CanvasLayer" type="CanvasLayer" parent="Ground"] [node name="最终吃肉" type="RichTextLabel" parent="Ground/CanvasLayer"] +visible = false light_mask = 3 custom_minimum_size = Vector2(500, 0) anchors_preset = 8 @@ -466,7 +488,7 @@ theme_override_colors/default_color = Color(1, 0, 0, 1) theme_override_fonts/normal_font = ExtResource("11_mr0pm") theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true -text = "[wave]又嫩又甜[/wave]" +text = "c03_s12_label8" fit_content = true horizontal_alignment = 1