第三章部分场景

This commit is contained in:
cakipaul 2025-08-18 16:23:01 +08:00
parent d542f8ae0b
commit 6887dcb840
26 changed files with 1402 additions and 21 deletions

View File

@ -54,6 +54,8 @@ func ground_archive(scene_name := current_scene) -> GroundArchive:
if not scene_name:
printerr("getting GroundArchive: scene_name is null")
return null
# 共享 ground archive
scene_name = GroundLoader.replace_scene_by_chapter(scene_name)
if not ground_archives.has(scene_name):
var g = GroundArchive.new()
g.scene_name = scene_name

View File

@ -48,12 +48,19 @@ const GROUND_SCENE_PATH_DICT: Dictionary[String, Dictionary] = {
"c03_s13": {"path": "uid://b1elo74u56fap", "name": "院子II"},
"c03_s14": {"path": "uid://dtu1ou7prh07o", "name": "二楼II"},
"c04_s01": {"path": "uid://drjnu33pga6i5", "name": "父母房间"},
"c04_s02": {"path": "uid://4dog18klgvv6", "name": "二楼III"},
"c04_s03": {"path": "uid://cdqkn0de1skvq", "name": "院子III"},
"c04_s04": {"path": "uid://bykwiuj02tcxa", "name": "鬼打墙"},
"c04_s05": {"path": "uid://cmbg3y18btteg", "name": "客厅"},
"c04_s06": {"path": "uid://dgcxqcu5k6tvt", "name": "小蝶房间"},
"c04_s07": {"path": "uid://b6cfu5rs88pql", "name": "佛堂"},
}
# 注意: 共享 ground archive
# scene_name -> { chapter -> scene_name}
const TRANSPORT_REPLACEMENT_DICT: Dictionary[String, Dictionary] = {
"c02_s03": {3: "c03_s13", 4: "c03_s13", 5: "c03_s13", 6: "c03_s13"},
"c02_s06": {3: "c03_s14", 4: "c03_s14", 5: "c03_s14", 6: "c03_s14"},
"c02_s03": {3: "c03_s13", 4: "c04_s03", 5: "c04_s03", 6: "c04_s03"},
"c02_s06": {3: "c03_s14", 4: "c04_s02", 5: "c04_s02", 6: "c04_s02"},
}
# Exports
@ -130,7 +137,7 @@ func _load_save() -> void:
if archive.entrance_portal:
entrance_portal = archive.entrance_portal
static func get_ground_scene_uid(scene_name: String) -> String:
if GROUND_SCENE_PATH_DICT.has(scene_name):
return GROUND_SCENE_PATH_DICT[scene_name]["path"]
@ -168,12 +175,13 @@ func toggle_mask(
return tween
func _replace_scene_by_chapter(scene_name: String) -> String:
static func replace_scene_by_chapter(scene_name: String) -> String:
if TRANSPORT_REPLACEMENT_DICT.has(scene_name):
var chapter := EventManager.get_chapter_stage()
if TRANSPORT_REPLACEMENT_DICT[scene_name].has(chapter):
var replaced = TRANSPORT_REPLACEMENT_DICT[scene_name][chapter]
prints("GroundLoader _replace_scene_by_chapter: replaced", scene_name, "with", replaced)
if GlobalConfig.DEBUG:
prints("GroundLoader replace_scene_by_chapter: replaced", scene_name, "with", replaced)
return replaced
return scene_name
@ -182,7 +190,7 @@ func transition_to_scene(
scene_name: String, portal: String, wait_time := DEFAULT_TRANSITION_TIME, color := Color.BLACK
) -> void:
# 检查 TRANSPORT_REPLACEMENT_DICT
scene_name = _replace_scene_by_chapter(scene_name)
scene_name = replace_scene_by_chapter(scene_name)
if not GROUND_SCENE_PATH_DICT.has(scene_name):
print("Scene not found: " + scene_name)
return

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://bkbngux0ije3l

View File

@ -1,11 +1,11 @@
[gd_scene load_steps=8 format=3 uid="uid://drjnu33pga6i5"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_36j8f"]
[ext_resource type="Script" uid="uid://cs4ddcjq81c1d" path="res://scene/ground/scene/c03/s10_胖子游戏1.gd" id="2_1k73c"]
[ext_resource type="Script" uid="uid://bkbngux0ije3l" path="res://scene/ground/scene/c04/s01_父母房间.gd" id="2_1k73c"]
[ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_qpvng"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_4fsci"]
[ext_resource type="Texture2D" uid="uid://b1g6hxg1tjp1u" path="res://asset/art/scene/c03/s09_棺材房/bg_棺材房背景.png" id="5_7tx46"]
[ext_resource type="Texture2D" uid="uid://bmny5bvenexwe" path="res://asset/art/scene/c03/s09_棺材房/fg_棺材房前景.png" id="6_4wcdy"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="5_173ya"]
[ext_resource type="PackedScene" uid="uid://8chvwh72yan1" path="res://scene/ground/script/c03/s09_closeup九宫格游戏.tscn" id="6_1k73c"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
@ -36,17 +36,19 @@ metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(52, 0)
texture = ExtResource("5_7tx46")
offset = Vector2(0, -158)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(120, 8)
position = Vector2(39, 19)
target_scene = "c03_s01"
target_portal = "1"
status = "opened"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(543, 6)
position = Vector2(522, 25)
[node name="Closeup九宫格游戏" parent="Ground/DeployLayer" index="2" instance=ExtResource("5_173ya")]
packed_scene = ExtResource("6_1k73c")
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
@ -54,24 +56,17 @@ catty_light_energy = 0.5
player_movement_rect = Rect2(80, -158, 394, 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(27, 0)
scale = Vector2(1.1, 1.1)
texture = ExtResource("6_4wcdy")
offset = Vector2(0, -147)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(80, 150, 474, 151)
points = PackedVector2Array(20, 150, 547, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.85
energy = 0.8
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://b424kphhn6g5a

View File

@ -0,0 +1,367 @@
[gd_scene load_steps=27 format=3 uid="uid://4dog18klgvv6"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_xtv72"]
[ext_resource type="Script" uid="uid://b424kphhn6g5a" path="res://scene/ground/scene/c04/s02_二楼III.gd" id="2_mlwuu"]
[ext_resource type="AudioStream" uid="uid://6oc0cgc3mbqb" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道2.ogg" id="3_ktes1"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_wru8x"]
[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="5_s8qp2"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="6_8vx6m"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="16_2n8me"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="17_wqhyy"]
[ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="21_5m5ma"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="22_pbf41"]
[ext_resource type="Texture2D" uid="uid://0x7cl2cmcs6l" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕2.png" id="23_4asme"]
[ext_resource type="Texture2D" uid="uid://b78jbthcfkod7" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光3.png" id="24_lmx6g"]
[ext_resource type="Texture2D" uid="uid://d33jmss6vlhk7" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光2.png" id="25_ll48w"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="26_23r33"]
[ext_resource type="PackedScene" uid="uid://trkypc4gox20" path="res://scene/ground/script/c02/水盆特写.tscn" id="27_av070"]
[ext_resource type="Texture2D" uid="uid://crev0svowqla" path="res://asset/art/scene/c02/s06_二楼楼道/fg_前景.png" id="34_hso0f"]
[sub_resource type="Animation" id="Animation_k01ve"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DirectionalLight2D:energy")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.9]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MainPlayer:hide_sprite")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("MainPlayer:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_lh55k"]
resource_name = "c02_final_show_end"
length = 12.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MainPlayer:hide_sprite")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3.8),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MainPlayer:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_ciatp"]
resource_name = "c02_final_show_join"
length = 12.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DirectionalLight2D:energy")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 12.1, 12.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 1.0, 0.9]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MainPlayer:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_p6da7"]
resource_name = "疯子撞墙"
length = 6.0
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
_data = {
&"RESET": SubResource("Animation_k01ve"),
&"c02_final_show_end": SubResource("Animation_lh55k"),
&"c02_final_show_join": SubResource("Animation_ciatp"),
&"疯子撞墙": SubResource("Animation_p6da7")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_chbaa"]
atlas = ExtResource("17_wqhyy")
region = Rect2(0, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_th1ek"]
atlas = ExtResource("17_wqhyy")
region = Rect2(6, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_to1d1"]
atlas = ExtResource("17_wqhyy")
region = Rect2(12, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_nx6jy"]
atlas = ExtResource("17_wqhyy")
region = Rect2(18, 0, 6, 14)
[sub_resource type="SpriteFrames" id="SpriteFrames_lipxo"]
animations = [{
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_chbaa")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_th1ek")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_to1d1")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_nx6jy")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[node name="S02" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-12.0, 95.0]
metadata/_edit_vertical_guides_ = [24.0]
[node name="Ground" parent="." instance=ExtResource("1_xtv72")]
scene_name = "c04_s02"
player_y = 60
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_mlwuu")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
process_mode = 1
stream = ExtResource("3_ktes1")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_wru8x")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(0, -2)
texture = ExtResource("5_s8qp2")
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(33, 8)
target_scene = "c02_s07"
target_portal = "1"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(873, 15)
[node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("6_8vx6m")]
position = Vector2(108, 14)
debug_note = "瞎子卧室"
enabled = false
portal_name = "1"
target_scene = "c03_s02"
target_portal = "1"
status = "opened"
[node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_8vx6m")]
position = Vector2(222, 14)
debug_note = "瞎子理发店"
enabled = false
portal_name = "2"
target_scene = "c03_s03"
target_portal = "left"
status = "opened"
[node name="portal_3" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_8vx6m")]
position = Vector2(798, 17)
debug_note = "上三楼"
portal_name = "3"
target_scene = "c03_s01"
target_portal = "right"
[node name="portal_4" parent="Ground/DeployLayer" index="5" instance=ExtResource("6_8vx6m")]
position = Vector2(554, 7)
debug_note = "胖子房间"
enabled = false
portal_name = "4"
target_scene = "c03_s06"
target_portal = "left"
status = "locked"
prop_key = "prop_2013钥匙"
[node name="楼梯蜡烛" type="Node2D" parent="Ground/DeployLayer" index="6"]
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
position = Vector2(777.8, -48.2)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("16_2n8me")
texture_scale = 0.3
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(0, 12.8172)
sprite_frames = SubResource("SpriteFrames_lipxo")
autoplay = "default"
[node name="小蜡烛PointLight2D2" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
position = Vector2(823, -18.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("16_2n8me")
texture_scale = 0.3
[node name="小蜡烛2" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D2"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(0, 12.8172)
sprite_frames = SubResource("SpriteFrames_lipxo")
autoplay = "default"
[node name="小蜡烛PointLight2D3" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
position = Vector2(774, -9.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("16_2n8me")
texture_scale = 0.3
[node name="小蜡烛3" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D3"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(0, 12.8172)
sprite_frames = SubResource("SpriteFrames_lipxo")
autoplay = "default"
[node name="小蜡烛PointLight2D4" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
position = Vector2(824, 43.1828)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("16_2n8me")
texture_scale = 0.3
[node name="小蜡烛4" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D4"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(0, 12.8172)
sprite_frames = SubResource("SpriteFrames_lipxo")
autoplay = "default"
[node name="煤油灯" type="Sprite2D" parent="Ground/DeployLayer" index="7"]
position = Vector2(613, 1)
texture = ExtResource("21_5m5ma")
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/煤油灯"]
position = Vector2(4.5, -28)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("22_pbf41")
animation = &"火苗"
autoplay = "火苗"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/煤油灯"]
position = Vector2(11, -17)
color = Color(1, 0.882353, 0.705882, 1)
energy = 1.5
texture = ExtResource("23_4asme")
[node name="地面光" type="PointLight2D" parent="Ground/DeployLayer/煤油灯"]
position = Vector2(12, 5)
energy = 0.3
range_item_cull_mask = 4
texture = ExtResource("24_lmx6g")
[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="8"]
position = Vector2(321, 1)
texture = ExtResource("21_5m5ma")
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/煤油灯2"]
position = Vector2(4.5, -28)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("22_pbf41")
animation = &"火苗"
autoplay = "火苗"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/煤油灯2"]
position = Vector2(11, -17)
color = Color(1, 0.882353, 0.705882, 1)
energy = 1.5
texture = ExtResource("23_4asme")
[node name="地面光" type="PointLight2D" parent="Ground/DeployLayer/煤油灯2"]
position = Vector2(12, 5)
range_item_cull_mask = 4
texture = ExtResource("25_ll48w")
[node name="Closeup水盆" parent="Ground/DeployLayer" index="9" instance=ExtResource("26_23r33")]
position = Vector2(289, 16)
packed_scene = ExtResource("27_av070")
on_display_hide_hud = true
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(49, 98)
catty_light_energy = 0.5
player_movement_rect = Rect2(26, -158, 874, 316)
facing_direction = Vector2(1, 0)
[node name="CameraFocusMarker" parent="Ground" index="6"]
limit_right = 927
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(0, -5)
scale = Vector2(1.1, 1.1)
texture = ExtResource("34_hso0f")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.9
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://c73e8fq4bnea8

View File

@ -0,0 +1,356 @@
[gd_scene load_steps=35 format=3 uid="uid://cdqkn0de1skvq"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_8m6tj"]
[ext_resource type="Script" uid="uid://c73e8fq4bnea8" path="res://scene/ground/scene/c04/s03_院子III.gd" id="2_uvt38"]
[ext_resource type="AudioStream" uid="uid://d0ef0felylt8d" path="res://asset/audio/sfx/环境音/第一章/氛围不受欢迎的存在.ogg" id="3_uwcpb"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_7jvn5"]
[ext_resource type="Texture2D" uid="uid://b3odt4ojsvu5n" path="res://asset/art/scene/c02/s03_公寓一楼院子/bg_一楼.png" id="6_c5kib"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="7_gik0a"]
[ext_resource type="Texture2D" uid="uid://diuh52qo2o6pa" path="res://asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png" id="9_ks08q"]
[ext_resource type="Texture2D" uid="uid://c0enojekent6s" path="res://asset/art/scene/c02/杂物/e_灯笼.png" id="10_mdh6y"]
[ext_resource type="Texture2D" uid="uid://bgpf35bhrkl86" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/打开 底层.png" id="11_ho6ao"]
[ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="12_yan8q"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="13_7h3j3"]
[ext_resource type="Texture2D" uid="uid://0x7cl2cmcs6l" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕2.png" id="14_cmren"]
[ext_resource type="Texture2D" uid="uid://cj0ie1ahfaam" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕5.png" id="15_8fwna"]
[ext_resource type="Texture2D" uid="uid://bcc7ni57tohwb" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕6.png" id="16_681ti"]
[ext_resource type="Texture2D" uid="uid://dy55syw4my0qo" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_水井.png" id="17_r1qtu"]
[ext_resource type="Texture2D" uid="uid://d0mrgm6ot3vee" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_药车.png" id="18_52gc0"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="20_lulug"]
[ext_resource type="AudioStream" uid="uid://c68e38rel4xrs" path="res://asset/audio/sfx/交互/序章/sfx_鬼差出场.ogg" id="21_wmh11"]
[ext_resource type="AudioStream" uid="uid://c5rgfl6ub4chw" path="res://asset/audio/sfx/交互/序章/sfx_鬼差擦肩而过.ogg" id="23_oc3p0"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="24_rwjt0"]
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="28_547cm"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="30_dqha4"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="34_xasi1"]
[ext_resource type="PackedScene" uid="uid://drq7ul1eikypv" path="res://scene/ground/script/c02/井特写.tscn" id="37_p80g7"]
[ext_resource type="Script" uid="uid://b5to0url3t7h4" path="res://scene/ground/script/c02/s03_event李氏给药完成.gd" id="56_db47s"]
[ext_resource type="Texture2D" uid="uid://bjdy0o0qngukl" path="res://asset/art/scene/c03/s00_院子与其他/e_运尸车.png" id="57_l5nts"]
[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="58_rkqn1"]
[ext_resource type="Texture2D" uid="uid://dooaferyy44rs" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_前侧楼梯.png" id="68_antfa"]
[sub_resource type="Animation" id="Animation_rt2lh"]
length = 0.001
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iyaiw"]
_data = {
&"RESET": SubResource("Animation_rt2lh")
}
[sub_resource type="Gradient" id="Gradient_plfv5"]
offsets = PackedFloat32Array(0, 0.799373, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_kyfht"]
gradient = SubResource("Gradient_plfv5")
width = 70
height = 120
fill = 1
fill_from = Vector2(0.5, 0.465812)
fill_to = Vector2(1, 1)
[sub_resource type="Gradient" id="Gradient_em2ma"]
offsets = PackedFloat32Array(0.00928382, 0.681698, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_plfv5"]
gradient = SubResource("Gradient_em2ma")
width = 500
height = 1000
fill = 1
fill_from = Vector2(0.5, 0.495726)
fill_to = Vector2(1, 1)
[node name="S03" type="Node2D"]
metadata/_edit_horizontal_guides_ = [94.0]
[node name="Ground" parent="." instance=ExtResource("1_8m6tj")]
scene_name = "c04_s03"
player_y = 65
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_iyaiw")
}
script = ExtResource("2_uvt38")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
process_mode = 1
stream = ExtResource("3_uwcpb")
volume_db = -12.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_7jvn5")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
texture = ExtResource("6_c5kib")
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(25, 11)
target_scene = "c02_s02"
target_portal = "right"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(2286, 16)
[node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("7_gik0a")]
position = Vector2(200, 10)
debug_note = "1012保卫科"
portal_name = "1"
target_scene = "c02_s04"
target_portal = "left"
status = "opened"
[node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("7_gik0a")]
position = Vector2(928, 7)
debug_note = "一楼内侧过道
"
portal_name = "2"
target_scene = "c02_s05"
target_portal = "left"
[node name="portal_5" parent="Ground/DeployLayer" index="4" instance=ExtResource("7_gik0a")]
position = Vector2(1937, 18)
debug_note = "李氏癞子房间"
portal_name = "5"
target_scene = "c03_s04"
target_portal = "1"
status = "opened"
prop_key = "prop_1015钥匙"
[node name="禁火等墙面文字" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(955, 5)
texture = ExtResource("9_ks08q")
[node name="灯笼" type="Node2D" parent="Ground/DeployLayer" index="6"]
[node name="灯笼" type="Sprite2D" parent="Ground/DeployLayer/灯笼"]
position = Vector2(1644, -86)
texture = ExtResource("10_mdh6y")
[node name="自亮" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼"]
visible = false
energy = 0.5
texture = ExtResource("10_mdh6y")
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼"]
position = Vector2(0, 56)
color = Color(1, 0.0980392, 0, 1)
energy = 0.7
texture = SubResource("GradientTexture2D_kyfht")
texture_scale = 2.2
[node name="灯笼2" type="Sprite2D" parent="Ground/DeployLayer/灯笼"]
position = Vector2(1166, -94)
texture = ExtResource("10_mdh6y")
[node name="自亮" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼2"]
visible = false
energy = 0.5
texture = ExtResource("10_mdh6y")
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼2"]
position = Vector2(0, 49)
color = Color(1, 0.0980392, 0, 1)
energy = 0.7
texture = SubResource("GradientTexture2D_kyfht")
texture_scale = 2.2
[node name="灯笼3" type="Sprite2D" parent="Ground/DeployLayer/灯笼"]
position = Vector2(1764, -86)
texture = ExtResource("10_mdh6y")
[node name="自亮" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼3"]
visible = false
energy = 0.5
texture = ExtResource("10_mdh6y")
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/灯笼/灯笼3"]
position = Vector2(0, 55)
color = Color(1, 0.0980392, 0, 1)
energy = 0.7
texture = SubResource("GradientTexture2D_kyfht")
texture_scale = 2.2
[node name="铁门" type="Sprite2D" parent="Ground/DeployLayer" index="7"]
light_mask = 5
position = Vector2(1222, 28)
texture = ExtResource("11_ho6ao")
[node name="煤油灯" type="Sprite2D" parent="Ground/DeployLayer" index="8"]
position = Vector2(293, 13)
texture = ExtResource("12_yan8q")
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/煤油灯"]
position = Vector2(4.5, -28)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("13_7h3j3")
animation = &"火苗"
autoplay = "火苗"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/煤油灯"]
position = Vector2(11, -17)
color = Color(1, 0.882353, 0.705882, 1)
energy = 2.0
blend_mode = 2
texture = ExtResource("14_cmren")
[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="9"]
position = Vector2(605, 13)
texture = ExtResource("12_yan8q")
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/煤油灯2"]
position = Vector2(4.5, -28)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("13_7h3j3")
animation = &"火苗"
autoplay = "火苗"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/煤油灯2"]
position = Vector2(11, -17)
color = Color(1, 0.882353, 0.705882, 1)
energy = 2.0
blend_mode = 2
texture = ExtResource("15_8fwna")
[node name="煤油灯3" type="Sprite2D" parent="Ground/DeployLayer" index="10"]
position = Vector2(854, 13)
texture = ExtResource("12_yan8q")
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/煤油灯3"]
position = Vector2(4.5, -28)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("13_7h3j3")
animation = &"火苗"
autoplay = "火苗"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/煤油灯3"]
position = Vector2(11, -17)
color = Color(1, 0.882353, 0.705882, 1)
energy = 2.0
blend_mode = 2
texture = ExtResource("16_681ti")
[node name="井" type="Sprite2D" parent="Ground/DeployLayer" index="11"]
self_modulate = Color(0.739288, 0.739288, 0.739288, 1)
light_mask = 5
z_index = 10
position = Vector2(2062, 60)
texture = ExtResource("17_r1qtu")
[node name="药车" type="Sprite2D" parent="Ground/DeployLayer" index="12"]
light_mask = 5
z_index = 11
position = Vector2(1025, 27)
texture = ExtResource("18_52gc0")
[node name="Closeup井" parent="Ground/DeployLayer" index="13" instance=ExtResource("30_dqha4")]
z_index = 6
position = Vector2(2063, 50)
packed_scene = ExtResource("37_p80g7")
on_display_hide_hud = true
action_key = 3
[node name="Event2D李氏给药完成" type="Node2D" parent="Ground/DeployLayer" index="14"]
position = Vector2(1858, 24)
script = ExtResource("56_db47s")
event_name = &"c03_li_paperwoman"
event_stages = Array[int]([4, 5])
pre_event_name = &"current_chapter_stage"
pre_event_stages = Array[int]([3, 4, 5])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="Sfx招魂幡" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D李氏给药完成"]
stream = ExtResource("21_wmh11")
bus = &"game_sfx"
script = ExtResource("4_7jvn5")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx招魂幡鬼影擦肩" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D李氏给药完成"]
stream = ExtResource("23_oc3p0")
bus = &"game_sfx"
script = ExtResource("4_7jvn5")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="运尸车" type="Sprite2D" parent="Ground/DeployLayer/Event2D李氏给药完成"]
position = Vector2(-22, 25)
texture = ExtResource("57_l5nts")
[node name="Ambush招魂幡" parent="Ground/DeployLayer/Event2D李氏给药完成" instance=ExtResource("34_xasi1")]
position = Vector2(-124, -10)
trigger_mode = "interact"
one_shot = false
cooldown_time = 2.0
[node name="招魂幡" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D李氏给药完成"]
position = Vector2(-134, -29)
sprite_frames = ExtResource("58_rkqn1")
animation = &"招魂幡"
[node name="鬼差吸魂" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D李氏给药完成"]
visible = false
position = Vector2(34, -20)
sprite_frames = ExtResource("58_rkqn1")
animation = &"鬼差吸魂"
autoplay = "鬼差吸魂"
flip_h = true
script = ExtResource("28_547cm")
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D李氏给药完成/鬼差吸魂"]
position = Vector2(12, -2)
color = Color(1, 0, 0, 1)
energy = 2.62
texture = ExtResource("24_rwjt0")
[node name="Note李癞_奠" parent="Ground/DeployLayer/Event2D李氏给药完成" instance=ExtResource("20_lulug")]
position = Vector2(79, -50)
title_filter = "c03"
note_key = "c03_s04_奠"
[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
light_mask = 4
position = Vector2(2189, -142)
rotation = 0.496352
energy = 1.2
range_item_cull_mask = 4
texture = SubResource("GradientTexture2D_plfv5")
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(913, 93)
player_movement_rect = Rect2(17, -158, 2233, 316)
facing_direction = Vector2(-1, -1)
[node name="CameraFocusMarker" parent="Ground" index="6"]
limit_right = 2380
[node name="BGParallaxLayer" parent="Ground/ParallaxForeground" index="0"]
use_parent_material = true
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(-88, -7)
scale = Vector2(1.08, 1.08)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(17, 150, 2250, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.6
blend_mode = 1
[node name="UIPointLight2D" parent="Ground" index="10"]
position = Vector2(7051, 6)
[node name="楼梯" type="Sprite2D" parent="Ground"]
light_mask = 0
z_index = 20
position = Vector2(1393.5, 0)
texture = ExtResource("68_antfa")
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://dxu4ss0r68f5d

View File

@ -0,0 +1,182 @@
[gd_scene load_steps=15 format=3 uid="uid://bykwiuj02tcxa"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_q48aa"]
[ext_resource type="Script" uid="uid://dxu4ss0r68f5d" path="res://scene/ground/scene/c04/s04_鬼打墙.gd" id="2_vek4i"]
[ext_resource type="AudioStream" uid="uid://6oc0cgc3mbqb" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道2.ogg" id="3_ka5ik"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ynt5w"]
[ext_resource type="Texture2D" uid="uid://cpjd3dqri51fq" path="res://asset/art/scene/c03/s01_三楼/bg_三楼走廊.png" id="5_lwq75"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="11_t03n4"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="12_vt3n2"]
[ext_resource type="Texture2D" uid="uid://djoft6600kly6" path="res://asset/art/scene/c03/s01_三楼/fg_前景.png" id="20_k8fkv"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[sub_resource type="AtlasTexture" id="AtlasTexture_chbaa"]
atlas = ExtResource("11_t03n4")
region = Rect2(0, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_th1ek"]
atlas = ExtResource("11_t03n4")
region = Rect2(6, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_to1d1"]
atlas = ExtResource("11_t03n4")
region = Rect2(12, 0, 6, 14)
[sub_resource type="AtlasTexture" id="AtlasTexture_nx6jy"]
atlas = ExtResource("11_t03n4")
region = Rect2(18, 0, 6, 14)
[sub_resource type="SpriteFrames" id="SpriteFrames_w4rk2"]
animations = [{
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_chbaa")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_th1ek")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_to1d1")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_nx6jy")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[node name="S04" type="Node2D"]
metadata/_edit_horizontal_guides_ = [98.0]
[node name="Ground" parent="." instance=ExtResource("1_q48aa")]
scene_name = "c04_s04"
player_y = 60
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_vek4i")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
process_mode = 1
stream = ExtResource("3_ka5ik")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_ynt5w")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(0, -24)
texture = ExtResource("5_lwq75")
offset = Vector2(0, -155)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(34, 8)
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(697, 18)
target_scene = "c02_s06"
target_portal = "3"
[node name="小蜡烛系列" type="Node2D" parent="Ground/DeployLayer" index="2"]
position = Vector2(0, 6)
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(680, 48)
sprite_frames = SubResource("SpriteFrames_w4rk2")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/小蜡烛系列/小蜡烛"]
position = Vector2(0, -12.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("12_vt3n2")
texture_scale = 0.3
[node name="小蜡烛2" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(585, 51)
sprite_frames = SubResource("SpriteFrames_w4rk2")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/小蜡烛系列/小蜡烛2"]
position = Vector2(0, -12.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("12_vt3n2")
texture_scale = 0.3
[node name="小蜡烛3" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(283, -3)
sprite_frames = SubResource("SpriteFrames_w4rk2")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/小蜡烛系列/小蜡烛3"]
position = Vector2(0, -12.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("12_vt3n2")
texture_scale = 0.3
[node name="小蜡烛4" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(106, 4)
sprite_frames = SubResource("SpriteFrames_w4rk2")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/小蜡烛系列/小蜡烛4"]
position = Vector2(0, -12.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("12_vt3n2")
texture_scale = 0.3
[node name="小蜡烛5" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
position = Vector2(223, -49)
sprite_frames = SubResource("SpriteFrames_w4rk2")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/小蜡烛系列/小蜡烛5"]
position = Vector2(0, -12.8172)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("12_vt3n2")
texture_scale = 0.3
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(34, 98)
catty_light_energy = 0.5
player_movement_rect = Rect2(30, -158, 693, 316)
facing_direction = Vector2(1, 0)
[node name="CameraFocusMarker" parent="Ground" index="6"]
limit_right = 749
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
texture = ExtResource("20_k8fkv")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(30, 151, 723, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://idbsci4bneuc

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=6 format=3 uid="uid://cmbg3y18btteg"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_sugsn"]
[ext_resource type="Script" uid="uid://idbsci4bneuc" path="res://scene/ground/scene/c04/s05_客厅.gd" id="2_sugsn"]
[ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_t7lp3"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_62vrq"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[node name="S05" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
[node name="Ground" parent="." instance=ExtResource("1_sugsn")]
scene_name = "c04_s05"
player_y = 60
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_sugsn")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_t7lp3")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_62vrq")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(52, 0)
offset = Vector2(0, -158)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(39, 19)
target_scene = "c03_s01"
target_portal = "1"
status = "opened"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(522, 25)
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
player_movement_rect = Rect2(80, -158, 394, 316)
facing_direction = Vector2(1, 0)
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(27, 0)
scale = Vector2(1.1, 1.1)
offset = Vector2(0, -147)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(20, 150, 547, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://btnilpqjbdksp

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=6 format=3 uid="uid://dgcxqcu5k6tvt"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_18ge5"]
[ext_resource type="Script" uid="uid://btnilpqjbdksp" path="res://scene/ground/scene/c04/s06_小蝶房间.gd" id="2_18ge5"]
[ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_ccr25"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ypwo5"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[node name="S06" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
[node name="Ground" parent="." instance=ExtResource("1_18ge5")]
scene_name = "c04_s06"
player_y = 60
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_18ge5")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_ccr25")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_ypwo5")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(52, 0)
offset = Vector2(0, -158)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(39, 19)
target_scene = "c03_s01"
target_portal = "1"
status = "opened"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(522, 25)
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
player_movement_rect = Rect2(80, -158, 394, 316)
facing_direction = Vector2(1, 0)
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(27, 0)
scale = Vector2(1.1, 1.1)
offset = Vector2(0, -147)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(20, 150, 547, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,26 @@
@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

View File

@ -0,0 +1 @@
uid://bj0s5kvlf7dnk

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=6 format=3 uid="uid://b6cfu5rs88pql"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_54u5c"]
[ext_resource type="Script" uid="uid://bj0s5kvlf7dnk" path="res://scene/ground/scene/c04/s07_佛堂.gd" id="2_54u5c"]
[ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_36k7s"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_qgaoq"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[node name="S06" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
[node name="Ground" parent="." instance=ExtResource("1_54u5c")]
scene_name = "c04_s06"
player_y = 60
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_54u5c")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_36k7s")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_qgaoq")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
position = Vector2(52, 0)
offset = Vector2(0, -158)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(39, 19)
target_scene = "c03_s01"
target_portal = "1"
status = "opened"
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(522, 25)
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
player_movement_rect = Rect2(80, -158, 394, 316)
facing_direction = Vector2(1, 0)
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(27, 0)
scale = Vector2(1.1, 1.1)
offset = Vector2(0, -147)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(20, 150, 547, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,7 @@
extends CanvasLayer
@warning_ignore("unused_signal")
signal exit(arg)
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME

View File

@ -0,0 +1 @@
uid://csf5gkqbbbo64

View File

@ -0,0 +1,73 @@
[gd_scene load_steps=3 format=3 uid="uid://8chvwh72yan1"]
[ext_resource type="Script" uid="uid://csf5gkqbbbo64" path="res://scene/ground/script/c03/s09_closeup九宫格游戏.gd" id="1_5lbo3"]
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_v1yto"]
[node name="Closeup九宫格游戏" type="CanvasLayer"]
script = ExtResource("1_5lbo3")
[node name="BG" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="GridContainer" type="GridContainer" parent="."]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -124.0
offset_top = -124.0
offset_right = 124.0
offset_bottom = 124.0
grow_horizontal = 2
grow_vertical = 2
columns = 3
[node name="B1" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B2" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B3" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B4" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B5" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B6" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B7" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B8" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="B9" type="TextureButton" parent="GridContainer"]
custom_minimum_size = Vector2(70, 70)
layout_mode = 2
[node name="遮罩" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("2_v1yto")