diff --git a/README.md b/README.md
index a7892d85..21a654e6 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,8 @@ GroundLoader 加载/切换 Ground 时,分为上下两段转场:
- 下半段(新场景出现):先暂停,在完全出现后再运行
【特殊注意⚠️】
- AnimationPlayer 的 process_mode 并非 inderited,而是 pausable。这意味着 AnimationPlayer 的 _on_ground_ready 在转场时仍旧可以直接运行。
-- 同样的还有 Sfx/Sfx2D,它们仍旧可以播放音频直到上半段转场结束
+ - 同样独立设置的还有 Sfx/Sfx2D,它们仍旧可以播放音频直到上半段转场结束
+ - CameraFocusMarker 也需要如此,以确保镜头快速拉到指定位置
- 一些 npc、player 大运行脚本会被中断。如果想让它们仍旧运行,需设置为 pausable。
diff --git a/asset/art/gif/c02_杂项/c02_杂项_frames.tres b/asset/art/gif/c02_杂项/c02_杂项_frames.tres
index 13c82b98..f96c3bb0 100644
--- a/asset/art/gif/c02_杂项/c02_杂项_frames.tres
+++ b/asset/art/gif/c02_杂项/c02_杂项_frames.tres
@@ -370,30 +370,30 @@ animations = [{
"duration": 1.0,
"texture": ExtResource("74_1ru8v")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("75_aceu7")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("76_3er7a")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("77_10bib")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("76_3er7a")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("77_10bib")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("76_3er7a")
}, {
-"duration": 1.0,
+"duration": 9.0,
"texture": ExtResource("77_10bib")
}],
"loop": false,
"name": &"小蝉背对转头",
-"speed": 2.0
+"speed": 6.0
}, {
"frames": [{
"duration": 6.0,
diff --git a/asset/art/ui/index/佩戴耳机提示.png b/asset/art/ui/index/佩戴耳机提示.png
new file mode 100644
index 00000000..eb94ff67
Binary files /dev/null and b/asset/art/ui/index/佩戴耳机提示.png differ
diff --git a/asset/art/ui/index/佩戴耳机提示.png.import b/asset/art/ui/index/佩戴耳机提示.png.import
new file mode 100644
index 00000000..85425bda
--- /dev/null
+++ b/asset/art/ui/index/佩戴耳机提示.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0r4spqoga3of"
+path="res://.godot/imported/佩戴耳机提示.png-6f3a0c112fefec49855e33fae80f4c1e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://asset/art/ui/index/佩戴耳机提示.png"
+dest_files=["res://.godot/imported/佩戴耳机提示.png-6f3a0c112fefec49855e33fae80f4c1e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/asset/art/ui/index/纯黑启动界面.png b/asset/art/ui/index/纯黑启动界面.png
new file mode 100644
index 00000000..845d98d8
Binary files /dev/null and b/asset/art/ui/index/纯黑启动界面.png differ
diff --git a/asset/art/ui/index/纯黑启动界面.png.import b/asset/art/ui/index/纯黑启动界面.png.import
new file mode 100644
index 00000000..11b92a8f
--- /dev/null
+++ b/asset/art/ui/index/纯黑启动界面.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt7dddmd3igrc"
+path="res://.godot/imported/纯黑启动界面.png-aa38b0a8ae6e70a4193b8739597a6103.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://asset/art/ui/index/纯黑启动界面.png"
+dest_files=["res://.godot/imported/纯黑启动界面.png-aa38b0a8ae6e70a4193b8739597a6103.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/asset/art/ui/index_menu/菜单背景1.png b/asset/art/ui/index/菜单背景.png
similarity index 100%
rename from asset/art/ui/index_menu/菜单背景1.png
rename to asset/art/ui/index/菜单背景.png
diff --git a/asset/art/ui/index_menu/菜单背景1.png.import b/asset/art/ui/index/菜单背景.png.import
similarity index 69%
rename from asset/art/ui/index_menu/菜单背景1.png.import
rename to asset/art/ui/index/菜单背景.png.import
index 5fa59b88..c94222bc 100644
--- a/asset/art/ui/index_menu/菜单背景1.png.import
+++ b/asset/art/ui/index/菜单背景.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bcc0bk34l5gbc"
-path="res://.godot/imported/菜单背景1.png-66041d9ea08e4114783cfa9c21f1ec1f.ctex"
+path="res://.godot/imported/菜单背景.png-d26a3b409efe3f8d7317234fc9c7f45b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://asset/art/ui/index_menu/菜单背景1.png"
-dest_files=["res://.godot/imported/菜单背景1.png-66041d9ea08e4114783cfa9c21f1ec1f.ctex"]
+source_file="res://asset/art/ui/index/菜单背景.png"
+dest_files=["res://.godot/imported/菜单背景.png-d26a3b409efe3f8d7317234fc9c7f45b.ctex"]
[params]
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav
new file mode 100644
index 00000000..03c3de79
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav.import
new file mode 100644
index 00000000..2997f14c
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://caioixl82pirx"
+path="res://.godot/imported/c02_疯子对话圆月亮1.wav-a1eb1c97205ecbebe2bd3c1b882822f4.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮1.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮1.wav-a1eb1c97205ecbebe2bd3c1b882822f4.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav
new file mode 100644
index 00000000..96a312f1
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav.import
new file mode 100644
index 00000000..11df67f6
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://vcchpo3l57vm"
+path="res://.godot/imported/c02_疯子对话圆月亮2.wav-2c266d7a283f96c64fd5161b0937c41b.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮2.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮2.wav-2c266d7a283f96c64fd5161b0937c41b.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav
new file mode 100644
index 00000000..e7774698
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav.import
new file mode 100644
index 00000000..006ce892
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://ctdrpnn57pd8n"
+path="res://.godot/imported/c02_疯子对话圆月亮3.wav-48445b8f633a86be3a95a32f1fbabf4b.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮3.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮3.wav-48445b8f633a86be3a95a32f1fbabf4b.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav
new file mode 100644
index 00000000..41366690
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav.import
new file mode 100644
index 00000000..3e2090a5
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://q7pyaf7n5ecm"
+path="res://.godot/imported/c02_疯子对话圆月亮4.wav-8d8ff9991b8c4bbf5c0af71656d860c9.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮4.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮4.wav-8d8ff9991b8c4bbf5c0af71656d860c9.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav
new file mode 100644
index 00000000..9372e289
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav.import
new file mode 100644
index 00000000..d7f8bf09
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dlw6v12qqcujf"
+path="res://.godot/imported/c02_疯子对话圆月亮5.wav-32f1491ef010d48d2e2a17ae9ded31f0.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮5.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮5.wav-32f1491ef010d48d2e2a17ae9ded31f0.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav
new file mode 100644
index 00000000..d82b9174
Binary files /dev/null and b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav differ
diff --git a/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav.import b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav.import
new file mode 100644
index 00000000..23c27206
--- /dev/null
+++ b/asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://lncrl3gku6cm"
+path="res://.godot/imported/c02_疯子对话圆月亮6.wav-3e6a265332367ff2b721b84c6f2570b2.sample"
+
+[deps]
+
+source_file="res://asset/audio/peiyin_new/c02/c02_疯子对话圆月亮6.wav"
+dest_files=["res://.godot/imported/c02_疯子对话圆月亮6.wav-3e6a265332367ff2b721b84c6f2570b2.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/asset/dialogue/c01.csv b/asset/dialogue/c01.csv
index 4b98a9e9..1827fae9 100644
--- a/asset/dialogue/c01.csv
+++ b/asset/dialogue/c01.csv
@@ -5,41 +5,41 @@ c01_6卖艺小孩C_1,宾安哗在,有才有财!,沫儿,,,,
c01_6幼年陆仁_1,这帮孩子们太苦了,前些天又摔坏了一个,您行行好...,陆仁,,,,
c01_1小小蝶_开头阅读2,...后面看不清了。,???,,,,
c01_2老师1,昨天认的字,现在全忘了?,老师,,,昨日刚刚教过你们,全忘记特了?,Have you forgotten all the characters you learned yesterday?
-c01_2老师2,(唉呀)黄鱼脑子!,老师,,,(哪能?)都黄鱼脑子啊?,"(Aw, c'mon!) You're acting silly!"
-c01_3胖小孩1,画完了没有?你小子咋比秤砣还沉!,大胖,,,,
-c01_3残疾小孩_1,快了、快了。,孩子王,,,,
-c01_3围观A_1,这是个啥?黑乎乎的,旁边还有两朵花。,小肉圆,,,,
-c01_3残疾小孩_2,非也,非也。,孩子王,,,,
-c01_3残疾小孩_3,谁规定神仙不能长成这样的?,孩子王,,,,
-c01_3胖小孩2,呸,神仙要是真长得这么丑,老子以后都倒立撒尿!,大胖,,,,
-c02_围观B_1,嘶,总觉得好像在哪见过...,小竹竿,,,,
-c01_4围观A_1,这画是六指儿画的,你问他去!,小肉圆,,,,
-c02_围观B_2,那个怪人是最近才出现的,总是透过门缝往院子里头看。,小竹竿,,,,
-c02_围观B_3,搞得大家都不去墙根底下玩儿了,真晦气。,小竹竿,,,,
-c01_4残疾小孩_1,我知道什么?知道也不能告诉你!,孩子王,,,,
-c01_4残疾小孩_2,还有,以后别叫我六指儿!,孩子王,,,,
-c01_5胖小孩_1,站住!,大胖,,[#wait=2.0],,
-c01_5胖小孩_2,我们可没让你走!,大胖,,,,
-c01_5残疾小孩_1,我们玩游戏还差个人,就你了,吕萍。,孩子王,,,,
-c01_5围观A_1,这次咱们又玩什么好玩的游戏?,小肉圆,,,,
-c01_5胖小孩_3,我们俩说话的时候,你把嘴闭上,听见没有?,大胖,,,,
-c01_5围观A_2,知道了胖哥,也带我一个,嘿嘿。,小肉圆,,,,
-c01_5残疾小孩_2,猫捉老鼠,我们四个当猫,你当老鼠。,孩子王,,[#ban_skip],,
-c01_5残疾小孩_3,倒数三个数,你要是被抓到了,我们就请你吃西瓜虫。,孩子王,,[#ban_skip],,
+c01_2老师2,黄鱼脑子!,老师,,,哪能?都黄鱼脑子啊?,"(Aw, c'mon!) You're acting silly!"
+c01_3胖小孩1,画完了没有?你小子咋比秤砣还沉!,大胖,,,侬画完了伐啦?重么重的来臭要死!,
+c01_3残疾小孩_1,快了、快了。,孩子王,,,哦好了好了。,
+c01_3围观A_1,这是个啥?黑乎乎的,旁边还有两朵花。,小肉圆,,,侬这画的是啥东西?黑赤赤的,边浪厢还有两朵花一刚。,
+c01_3残疾小孩_2,非也,非也。,孩子王,,,侬晓得撒啊?,
+c01_3残疾小孩_3,谁规定神仙不能长成这样的?,孩子王,,,啥人规定神仙伐好长了格副样子呃?,
+c01_3胖小孩2,呸,神仙要是真长得这么丑,老子以后都倒立撒尿!,大胖,,,诶,侬瞎说有啥说头啦,神仙要是长了嘎难看,我册那后头要倒过来擦丝!,
+c02_围观B_1,嘶,总觉得好像在哪见过...,小竹竿,,,嘶,感觉好像在啥地方看到过……,
+c01_4围观A_1,这画是六指儿画的,你问他去!,小肉圆,,,这幅画是小跷脚画的,你起问他呀。,
+c02_围观B_2,那个怪人是最近才出现的,总是透过门缝往院子里头看。,小竹竿,,,这老鬼三好像是近腔波出来的,老是亚了门板后头偷偷较往里厢看。,
+c02_围观B_3,搞得大家都不去墙根底下玩儿了,真晦气。,小竹竿,,,弄得嘞依拉都不过去玩了,戳气死了。,
+c01_4残疾小孩_1,我知道什么?知道也不能告诉你!,孩子王,,,我晓得啥东西啦?就算晓得也不会讲给你们听的!,
+c01_4残疾小孩_2,还有,以后别叫我六指儿!,孩子王,,,还有,下趟覅叫我小跷脚!,
+c01_5胖小孩_1,站住!,大胖,,[#wait=2.0],覅跑!,
+c01_5胖小孩_2,我们可没让你走!,大胖,,,嘎急着跑组撒啦。,
+c01_5残疾小孩_1,我们玩游戏还差个人,就你了,吕萍。,孩子王,,,阿拉玩游戏还少个人,就侬了,吕萍。,
+c01_5围观A_1,这次咱们又玩什么好玩的游戏?,小肉圆,,,今朝阿拉玩啥游戏啦?,
+c01_5胖小孩_3,我们俩说话的时候,你把嘴闭上,听见没有?,大胖,,,阿拉两个人讲闲话的时候,侬在旁边闲话好覅多?,
+c01_5围观A_2,知道了胖哥,也带我一个,嘿嘿。,小肉圆,,,晓得了胖哥,也算我一个,嘿嘿。,
+c01_5残疾小孩_2,猫捉老鼠,我们四个当猫,你当老鼠。,孩子王,,[#ban_skip],猫捉老鼠,阿拉四个人当猫,你当老鼠。,
+c01_5残疾小孩_3,倒数三个数,你要是被抓到了,我们就请你吃西瓜虫。,孩子王,,[#ban_skip],我数到三,你要是被抓到了,阿拉就请侬吃西瓜虫。,
c01_5胖小孩倒数_3,三!,大胖,,[#ban_skip][#wait=0.5],,
c01_5胖小孩倒数_2,二!,大胖,,[#ban_skip][#wait=0.5],,
c01_5胖小孩倒数_1,一!,大胖,,[#ban_skip][#wait=2],,
c01_6监督小孩_1,瞧一瞧,看一看,动动各位的发财手,老爷夫人别急走,什么把戏咱都有...,监督小孩,,,,
c01_6监督小孩_2,不要千、不要万,只求一顿温饱饭,又集福、又集善,亲戚儿孙中状元!,监督小孩,,,,
c01_6监督小孩_3,儿孙坐在那金銮殿,荣华富贵顶上天!,监督小孩,,,,
-c01_7老板_1,报纸放这边。,书店老板,,,,
-c01_7老板_2,哦,对了,还有封寄给你的信。,书店老板,,,,
-c01_7老板_3,蛮奇怪的,这么久也没见你有亲戚过来。,书店老板,,,,
-c01_7老板_4,你自己当心些,不要结交不三不四的人。,书店老板,,,,
-c01_7老板_5,新到的那批书堆着有碍观瞻,你赶紧去摆好。,书店老板,,,,
-c01_7小小蝶_1,...是在喊我吗?,吕萍,,,,
-c01_7老板_6,店员就你一个,不是你还能是谁?,书店老板,,,,
-c01_7老板_7,手脚麻利点,不要耽误店里的生意。,书店老板,,,,
+c01_7老板_1,报纸放这边。,书店老板,,,报纸放在此地。,
+c01_7老板_2,哦,对了,还有封寄给你的信。,书店老板,,,哦,对了,还有侬一封寄。,
+c01_7老板_3,蛮奇怪的,这么久也没见你有亲戚过来。,书店老板,,,蛮奇怪的,嘎长时间也没见你有啥亲眷来过。,
+c01_7老板_4,你自己当心些,不要结交不三不四的人。,书店老板,,,你自己注意点,覅和不二不三的人来去。,
+c01_7老板_5,新到的那批书堆着有碍观瞻,你赶紧去摆好。,书店老板,,,新到的这批书这样堆着老难看了,侬去摆摆好。,
+c01_7小小蝶_1,...是在喊我吗?,吕萍,,,……是在和我讲话吗?,
+c01_7老板_6,店员就你一个,不是你还能是谁?,书店老板,,,店里厢就侬一个人,不叫侬还能叫啥人呢?,
+c01_7老板_7,手脚麻利点,不要耽误店里的生意。,书店老板,,,侬动作快点,不要影响做生意。,
c01_8监督小孩_1,发赏钱喽!发赏钱喽!,监督小孩,,,,
c01_8监督小孩_2,哟,吕萍?你咋表演结束了才回来...,监督小孩,,,,
c01_8监督小孩_3,你手里攥的什么东西?给我看看,不然我就找班主告状!,监督小孩,,,,
@@ -50,9 +50,9 @@ c01_8幼年陆仁_1,它要来了,快跑!,陆仁,,,,
c01_9车夫_1,哎哟,当心——,车夫,,,,
c01_9车夫_2,小姐,您没吓到吧?,车夫,,,,
c01_9小蝶_1,我刚刚...,吕萍,,,,
-c01_9小蝶_2,师傅,刚才怎么了?,吕萍,,,,
+c01_9小蝶_2,师傅,刚才怎么了?,吕萍,,,师傅,刚刚哪能了?,
c01_9车夫_3,斜拐弯冲出来个不长眼的「波波车」,差点就撞了!,车夫,,,,
-c01_9小蝶_3,没受伤吧?,吕萍,,,,
+c01_9小蝶_3,没受伤吧?,吕萍,,,侬没伤着吧?,
c01_9车夫_4,嗨,我腿脚灵利着呢!,车夫,,,,
c01_9车夫_5,就算真出了事,我摔了伤了也不打紧,这车是刚赁的新车,碰坏了要赔钱。,车夫,,,,
c01_9车夫_6,您瞧这弓子多软,铜活多地道,还有这雨布大帘、细脖大铜喇叭...,车夫,,,,
@@ -63,15 +63,15 @@ c01_9车夫_9,小姐,您是本地人吧?,车夫,,,,
c01_9小蝶_5,...应该算是吧。,吕萍,,,,
c01_9车夫_10,我就说嘛,大家都不爱往芦昌路那边去,实在太偏了。,车夫,,,,
c01_9车夫_11,但是小姐您放心,我脚程快,底盘稳,天黑之前保准给你送到地方!,车夫,,,,
-c01_9小蝶_6,你们一般什么时候收工呀?,吕萍,,,,
+c01_9小蝶_6,你们一般什么时候收工呀?,吕萍,,,你们一般性啥时间收工呀?,
c01_9车夫_12,我最近都「拉晚儿」,送完这一趟我就去租界碰碰运气。,车夫,,,,
c01_9车夫_13,运气好遇上了能包月的洋大人,能多赚不少钱呢!,车夫,,,,
c01_9车夫_14,我不吃烟,不喝酒,不赌钱,只要肯咬牙,事儿就没有个不成。,车夫,,,,
c01_9车夫_15,到了那时候,我一定买辆现打的车,那时候要是再碰上您,我就免费载您一程!,车夫,,,,
c01_9车夫_16,...哎呀,小姐,您不会嫌咱话多吵您耳朵吧?,车夫,,,,
-c01_9小蝶_7,不会。我也不是什么有钱人家的小姐,只是侥幸读了些书罢了。,吕萍,,,,
+c01_9小蝶_7,不会。我也不是什么有钱人家的小姐,只是侥幸读了些书罢了。,吕萍,,,不会。我也不是啥有钱人家的小姐,只不过运道好,也算读了点书。,
c01_9车夫_17,读书?读书好呀。打您一上车,我就能感觉到那什么...书香气,对对对,书香气!,车夫,,,,
c01_9车夫_18,您将来一定大有可为!,车夫,,,,
-c01_9小蝶_8,那就借师傅吉言了。,吕萍,,,,
+c01_9小蝶_8,那就借师傅吉言了。,吕萍,,,谢谢师傅,是侬讲得好。,
c01_9车夫_19,到地方喽——您看好自己的东西再下车!,车夫,,,,
c01_9小蝶_9,谢谢。,吕萍,,,,
diff --git a/asset/dialogue/c01.dialogue b/asset/dialogue/c01.dialogue
index b0730653..af7cbbcf 100644
--- a/asset/dialogue/c01.dialogue
+++ b/asset/dialogue/c01.dialogue
@@ -4,14 +4,14 @@
~ c01_s06_走廊前对话
老师: 昨天认的字,现在全忘了? [ID:c01_2老师1]
-老师: (唉呀)黄鱼脑子! [ID:c01_2老师2]
+老师: 黄鱼脑子! [ID:c01_2老师2]
=> END
~ c01_s06_四个小孩画鬼差的对话
大胖: 画完了没有?你小子咋比秤砣还沉! [ID:c01_3胖小孩1]
孩子王: 快了、快了。 [ID:c01_3残疾小孩_1]
小肉圆: 这是个啥?黑乎乎的,旁边还有两朵花。 [ID:c01_3围观A_1]
-孩子王: 非也,非也。[ID:c01_3残疾小孩_2]
+孩子王: 非也,非也。 [ID:c01_3残疾小孩_2]
孩子王: 谁规定神仙不能长成这样的? [ID:c01_3残疾小孩_3]
大胖: 呸,神仙要是真长得这么丑,老子以后都倒立撒尿! [ID:c01_3胖小孩2]
小竹竿: 嘶,总觉得好像在哪见过... [ID:c02_围观B_1]
@@ -32,7 +32,7 @@
=> END
~ c01_s06_谈论鬼差与猫鼠游戏
-大胖: 站住! [#wait=2.0] [ID:c01_5胖小孩_1]
+大胖: 站住! [#wait=2.0] [ID:c01_5胖小孩_1]
# 几个人凑过来
大胖: 我们可没让你走! [ID:c01_5胖小孩_2]
孩子王: 我们玩游戏还差个人,就你了,吕萍。 [ID:c01_5残疾小孩_1]
@@ -42,14 +42,14 @@
=> END
~ c01_s06_猫鼠游戏BGM开始
-孩子王: 猫捉老鼠,我们四个当猫,你当老鼠。[#ban_skip] [ID:c01_5残疾小孩_2]
-孩子王: 倒数三个数,你要是被抓到了,我们就请你吃西瓜虫。[#ban_skip] [ID:c01_5残疾小孩_3]
+孩子王: 猫捉老鼠,我们四个当猫,你当老鼠。 [#ban_skip] [ID:c01_5残疾小孩_2]
+孩子王: 倒数三个数,你要是被抓到了,我们就请你吃西瓜虫。 [#ban_skip] [ID:c01_5残疾小孩_3]
=> END
~ c01_s06_猫鼠游戏倒计时
-大胖: 三![#ban_skip] [#wait=0.5] [ID:c01_5胖小孩倒数_3]
-大胖: 二![#ban_skip] [#wait=0.5] [ID:c01_5胖小孩倒数_2]
-大胖: 一![#ban_skip] [#wait=2] [ID:c01_5胖小孩倒数_1]
+大胖: 三! [#ban_skip][#wait=0.5] [ID:c01_5胖小孩倒数_3]
+大胖: 二! [#ban_skip][#wait=0.5] [ID:c01_5胖小孩倒数_2]
+大胖: 一! [#ban_skip][#wait=2] [ID:c01_5胖小孩倒数_1]
=> END
@@ -85,7 +85,7 @@
~ c01_s12_鬼差来之前对话
-监督小孩: 这上头咋还刻着个人哩,脑袋圆圆的,一根毛都没有! [#wait=3.0][ID:c01_8监督小孩_4]
+监督小孩: 这上头咋还刻着个人哩,脑袋圆圆的,一根毛都没有! [#wait=3.0] [ID:c01_8监督小孩_4]
监督小孩: 吕萍,你从哪弄来的? [ID:c01_8监督小孩_5]
=> END
diff --git a/asset/dialogue/c02.csv b/asset/dialogue/c02.csv
index de68c113..a8cf16c7 100644
--- a/asset/dialogue/c02.csv
+++ b/asset/dialogue/c02.csv
@@ -1,75 +1,76 @@
-keys,zh_CN,_character,_notes,_tags
-c02_11肉铺敲门_1,理发二楼,看病三楼!,???,,
-c02_11肉铺敲门_2,敲什么敲!,???,,
-c02_11肉铺敲门_3,不做生意赶紧滚!,???,,
-下⾬了、打烊了、⼩脚⼩孩跳舞了 [ID:],下⾬了、打烊了、⼩脚⼩孩跳舞了 [ID:],,,
-摔倒了、哭⿐头、⼩脚上面出血了 [ID:],摔倒了、哭⿐头、⼩脚上面出血了 [ID:],,,
-哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],,,
-c02_8小男孩童谣,下⾬了、打烊了、⼩脚⼩孩跳舞了,,,
-c02_纸人互动_离开公寓1,你要离开芦昌公寓吗?,,,
-c02_纸人互动_离开公寓2,离开,(response),,
-c02_纸人互动_离开公寓3,留下,(response),,
-c02_钻入隧道询问1,是否钻入隧道?,,,
-c02_钻入隧道询问2,进入,(response),,
-c02_6偷听对话_李氏_1_fx,真的假的?你钻进去啦,你这个体型进得去哒?,李兰,,
-c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,王守义,,[#db=3]
-c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,李兰,,[#db=-5]
-c02_6偷听对话_癞子_2_fx,不好说,那里头弯弯绕绕的,我得找个时间再去看一眼。,王守义,,
-c02_6偷听对话_癞子_3_fx,对了,你改天撺个局,让方启钊和胖子一块来搓麻,我顺嘴问一道。,王守义,,
-c02_6偷听对话_癞子_4_fx,其余的,不要声张。,王守义,,
-c02_6偷听对话_李氏_3_fx,知道了知道了。,李兰,,
-c02_6偷听对话_李氏_4_fx,我小弟今天又咳血了,是不是...要不行了?,李兰,,
-c02_6偷听对话_癞子_5_fx,死马当活马医吧,不行就找三楼那个看看。,王守义,,
-c02_6偷听对话_李氏_5_fx,但大家都在传他们家是“那个”...,李兰,,
-c02_6偷听对话_癞子_6_fx,西医谁请得起?难不成就任他这么病死吗?,王守义,,
-c02_6偷听对话_李氏_6_fx,(叹气)这碗里连点油水也没有,前年的衣裳能装下两个我。,李兰,,
-c02_6偷听对话_李氏_7_fx,想当年,咱们好歹也过了几年体面日子。,李兰,,
-c02_6偷听对话_癞子_7_fx,等胖子那肉铺开门,你趁晚上摸黑去,一句话也别说,敲六下门,三快三慢。,王守义,,
-c02_6偷听对话_李氏_8_fx,我记着了。,李兰,,[#wait=2]
-c02_6偷听对话_李氏_9_fx,...谁在外面?!,李兰,,
-c02_4瞎子_1,小蝉,要是有天我死了,你会怎么办?,方启钊,,
-c02_4小蝉_1,啊?,方小蝉,,
-c02_4小蝉_2,...「死」是什么意思?,方小蝉,,
-c02_4瞎子_2,每个人就像一个封起来的盒子,人死了,就是打开盒盖,把里面的灵魂放走了。,方启钊,,
-c02_4小蝉_3,然后呢?,方小蝉,,
-c02_4小蝉_4,那个盒子怎么样了?,方小蝉,,
-c02_4瞎子_3,一个空盒子而已,没人会在乎这个。,方启钊,,
-c02_4小蝉_5,...那你死了之后,也会变成空盒子吗?我可以住进空盒子里陪着你。,方小蝉,,
-c02_4瞎子_4,你不明白。人死了,就意味着...,方启钊,,
-c02_4瞎子_5,什么盼头、执念,想见的人、想做的事都做不成了,什么都没有了。,方启钊,,
-c02_4瞎子_6,投胎转世都是骗人的,我们手里能攥紧的只有眼前这一辈子。,方启钊,,
-c02_4瞎子_7,这世界上只有一个你,也只有一个我。死了、灵魂跑远了,就再也没有了。,方启钊,,
-c02_4瞎子_8,听懂了吗?,方启钊,,
-c02_4小蝉_6,...,方小蝉,,
-c02_4瞎子_9,你还小,不需要知道这么多。,方启钊,,
-c02_4小蝉_7,...但是你不要死,爸爸。,方小蝉,,
-c02_4瞎子_10,生死哪由人。,方启钊,,
-c02_4瞎子_11,走吧。,方启钊,,
-c02_11肉铺敲门_1_fx,理发二楼,看病三楼!,???,,
-c02_11肉铺敲门_2_fx,敲什么敲!,???,,
-c02_11肉铺敲门_3_fx,不做生意赶紧滚!,???,,
-c02_5小男孩_1,大姐姐,等一下!你玩过打弹珠没有?,小男孩,,
-c02_5小男孩_2,你赢了的话,我们就认你当老大,听你的吩咐办事!,小男孩,,
-c02_5小男孩_3,你得有弹珠才能跟我们玩儿!,,,
-c02_弹珠游戏0,把弹珠拿出来,,,
-c02_弹珠游戏1,你、你绝对不是第一次玩弹珠,,,
-c02_弹珠游戏2,这不可能...再来一次!,,,
-c02_弹珠游戏3,我没输...你骗人!,,,
-c02_弹珠游戏4,这不可能!不不不...,,,
-c02_弹珠游戏5,我还有很多弹珠,玩到我赢为止!,,,
-c02_弹珠游戏6,先碰到边界你就输了!,,,
-c02_尾声霸凌童谣1,下雨了、打烊了、小脚小孩跳舞了,???,,[#wait=4.7]
-c02_尾声霸凌童谣2,摔倒了、哭鼻头、小脚上面出血了,???,,[#wait=3.8]
-c02_尾声霸凌童谣3,哭鼻头、哭鼻头~小脚小孩哭鼻头...,???,,[#wait=6]
-c02_9小蝉_游戏失败效果,再见了,大姐姐。,小蝉,,
-c02_小孩喊着火啦1,着火啦!着火啦!,男孩黄,,
-c02_小孩喊着火啦2,水!打水!,男孩蓝,,
-c02_10小蝶_1,小姑娘,你是不是认得我啊?,吕萍,,[#ban_skip]
-c02_10小蝉_1,嗯。,方小蝉,,[#ban_skip]
-c02_10小蝶_2,我能感觉到,从我一进来,你就在盯着我。,吕萍,,[#ban_skip]
-c02_10小蝉_2,...你不记得我了。,方小蝉,,[#ban_skip]
-c02_10小蝶_3,...我更好奇另一件事。,吕萍,,[#ban_skip]
-c02_10小蝶_4,你...是怎么死的?,吕萍,,[#ban_skip]
-c02_10瞎子_1,小蝉,该回家了。,方启钊,,
-c02_10瞎子_2,你胖叔叔带了鲜肉过来,要给咱们露一手呢。,方启钊,,
-c02_10瞎子_3,还不快点过来谢谢人家?,方启钊,,
+keys,zh_CN,zh_SH,_character,_notes,zh_SH
+c02_11肉铺敲门_1,理发二楼,看病三楼!,剃头两楼,看毛病三楼!,???,,
+c02_11肉铺敲门_2,敲什么敲!,,???,,
+c02_11肉铺敲门_3,不做生意赶紧滚!,不做生意奥扫滚!,???,,
+下⾬了、打烊了、⼩脚⼩孩跳舞了 [ID:],下⾬了、打烊了、⼩脚⼩孩跳舞了 [ID:],,,,
+摔倒了、哭⿐头、⼩脚上面出血了 [ID:],摔倒了、哭⿐头、⼩脚上面出血了 [ID:],,,,
+哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],,,,
+c02_8小男孩童谣,下⾬了、打烊了、⼩脚⼩孩跳舞了,,,,
+c02_纸人互动_离开公寓1,你要离开芦昌公寓吗?,,,,
+c02_纸人互动_离开公寓2,离开,,(response),,
+c02_纸人互动_离开公寓3,留下,,(response),,
+c02_钻入隧道询问1,是否钻入隧道?,,,,
+c02_钻入隧道询问2,进入,,(response),,
+c02_6偷听对话_李氏_1_fx,真的假的?你钻进去啦,你这个体型进得去哒?,真的假的?侬钻进去啦,侬这模子钻得进去哒?,李兰,,
+c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,声音小点,被人家听到就讨厌了。,王守义,,[#db=3]
+c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,个么侬讲讲看呀,都看到啥东西了啦?,李兰,,[#db=-5]
+c02_6偷听对话_癞子_2_fx,不好说,那里头弯弯绕绕的,我得找个时间再去看一眼。,讲不清楚,里厢绕来绕去的,我下趟有机会再去看看较。,王守义,,
+c02_6偷听对话_癞子_3_fx,对了,你改天撺个局,让方启钊和胖子一块来搓麻,我顺嘴问一道。,对了,过两天侬喊瞎子和胖子过来一道搓场麻将,我再问一问。,王守义,,
+c02_6偷听对话_癞子_4_fx,其余的,不要声张。,其他的我们也覅多响。,王守义,,
+c02_6偷听对话_李氏_3_fx,知道了知道了。,晓得了晓得了。,李兰,,
+c02_6偷听对话_李氏_4_fx,我小弟今天又咳血了,是不是...要不行了?,阿拉阿弟今朝又咳出血了,是不是……要不来赛了?,李兰,,
+c02_6偷听对话_癞子_5_fx,死马当活马医吧,不行就找三楼那个看看。,譬如不如先看着再说,实在不来赛再叫三楼那个看看。,王守义,,
+c02_6偷听对话_李氏_5_fx,但大家都在传他们家是“那个”...,不是呀,人家都在讲他们屋里厢是“那个”……,李兰,,
+c02_6偷听对话_癞子_6_fx,西医谁请得起?难不成就任他这么病死吗?,洋医生啥人请得起啊?那没办法就这么随便他去啦?,王守义,,
+c02_6偷听对话_李氏_6_fx,(叹气)这碗里连点油水也没有,前年的衣裳能装下两个我。,吃的东西一点油水也没有的,人瘦的来前年的衣裳已经好当被子盖了。,李兰,,
+c02_6偷听对话_李氏_7_fx,想当年,咱们好歹也过了几年体面日子。,想想早几年,我们日子也是过的有模有样的。,李兰,,
+c02_6偷听对话_癞子_7_fx,等胖子那肉铺开门,你趁晚上摸黑去,一句话也别说,敲六下门,三快三慢。,等胖子的肉摊头开门,侬趁夜里厢偷摸较去,覅发声音,敲六击门,三快三慢。,王守义,,
+c02_6偷听对话_李氏_8_fx,我记着了。,有数了。,李兰,,[#wait=2]
+c02_6偷听对话_李氏_9_fx,...谁在外面?!,外头啥人?!,李兰,,
+c02_4瞎子_1,小蝉,要是有天我死了,你会怎么办?,小蝉,要是哪一天我没了,侬会哪能办?,方启钊,,
+c02_4小蝉_1,啊?,,方小蝉,,
+c02_4小蝉_2,...「死」是什么意思?,...“没”是啥意思?,方小蝉,,
+c02_4瞎子_2,每个人就像一个封起来的盒子,人死了,就是打开盒盖,把里面的灵魂放走了。,每个人就像一个封好的盒头,人要是没了,就是盒头盖头打开来了,里厢的魂灵头跑掉了。,方启钊,,
+c02_4小蝉_3,然后呢?,,方小蝉,,
+c02_4小蝉_4,那个盒子怎么样了?,这盒头哪能了?,方小蝉,,
+c02_4瞎子_3,一个空盒子而已,没人会在乎这个。,个么就一个空盒头了,没用了呀。,方启钊,,
+c02_4小蝉_5,...那你死了之后,也会变成空盒子吗?我可以住进空盒子里陪着你。,个么……侬没了以后,也会的变成空盒头唠?个么我就登进去陪侬好来。,方小蝉,,
+c02_4瞎子_4,你不明白。人死了,就意味着...,侬不懂的。人没了,就相当于……,方启钊,,
+c02_4瞎子_5,什么盼头、执念,想见的人、想做的事都做不成了,什么都没有了。,啥想法、念头,侬想看到的人、想做的事情都没办法去做了,啥都没了。,方启钊,,
+c02_4瞎子_6,投胎转世都是骗人的,我们手里能攥紧的只有眼前这一辈子。,人家讲再做一世人都是骗人的,我们一定要活好这一世。,方启钊,,
+c02_4瞎子_7,这世界上只有一个你,也只有一个我。死了、灵魂跑远了,就再也没有了。,这世界上只有一个侬,也只有一个我。人没了、魂灵头跑掉了,就啥都没了。,方启钊,,
+c02_4瞎子_8,听懂了吗?,听的懂伐?,方启钊,,
+c02_4小蝉_6,...,,方小蝉,,
+c02_4瞎子_9,你还小,不需要知道这么多。,你还小,用不着晓得这么多。,方启钊,,
+c02_4小蝉_7,...但是你不要死,爸爸。,……但是我不想爸爸的魂灵头跑掉。,方小蝉,,
+c02_4瞎子_10,生死哪由人。,我们说了不算的。,方启钊,,
+c02_4瞎子_11,走吧。,走吧。,方启钊,,
+c02_11肉铺敲门_1_fx,理发二楼,看病三楼!,剃头两楼,看毛病三楼!,???,,
+c02_11肉铺敲门_2_fx,敲什么敲!,,???,,
+c02_11肉铺敲门_3_fx,不做生意赶紧滚!,不做生意奥扫滚!,???,,
+c02_5小男孩_1,大姐姐,等一下!你玩过打弹珠没有?,姐姐,等等!侬打过玻璃弹子伐?,小男孩,,
+c02_5小男孩_2,你赢了的话,我们就认你当老大,听你的吩咐办事!,侬要是赢了,我们就认你做老大,侬叫我们做啥我们就做啥!,小男孩,,
+c02_5小男孩_3,你得有弹珠才能跟我们玩儿!,侬要有弹珠才好跟我们一道白相!,,,
+c02_弹珠游戏0,把弹珠拿出来,,,,
+c02_弹珠游戏1,你、你绝对不是第一次玩弹珠,,,,
+c02_弹珠游戏2,这不可能...再来一次!,,,,
+c02_弹珠游戏3,我没输...你骗人!,,,,
+c02_弹珠游戏4,这不可能!不不不...,,,,
+c02_弹珠游戏5,我还有很多弹珠,玩到我赢为止!,,,,
+c02_弹珠游戏6,先碰到边界你就输了!,,,,
+c02_尾声霸凌童谣1,下雨了、打烊了、小脚小孩跳舞了,,???,,[#wait=4.7]
+c02_尾声霸凌童谣2,摔倒了、哭鼻头、小脚上面出血了,,???,,[#wait=3.8]
+c02_尾声霸凌童谣3,哭鼻头、哭鼻头~小脚小孩哭鼻头...,,???,,[#wait=6]
+c02_9小蝉_游戏失败效果,再见了,大姐姐。,再会了,大姐姐。,小蝉,,
+c02_小孩喊着火啦1,着火啦!着火啦!,,男孩黄,,
+c02_小孩喊着火啦2,水!打水!,,男孩蓝,,
+c02_10小蝶_1,小姑娘,你是不是认得我啊?,小姑娘,侬阿是认得我啊?,吕萍,,[#ban_skip]
+c02_10小蝉_1,嗯。,,方小蝉,,[#ban_skip]
+c02_10小蝶_2,我能感觉到,从我一进来,你就在盯着我。,我觉着了,从一进来侬就在盯牢我看。,吕萍,,[#ban_skip]
+c02_10小蝉_2,...你不记得我了。,……侬对我没印象了。,方小蝉,,[#ban_skip]
+c02_10小蝶_3,...我更好奇另一件事。,……有桩事情我觉着老奇怪的。,吕萍,,[#ban_skip]
+c02_10小蝶_4,你...是怎么死的?,侬……是怎么死的?,吕萍,,[#ban_skip]
+c02_10瞎子_1,小蝉,该回家了。,小蝉,好回去了。,方启钊,,
+c02_10瞎子_2,你胖叔叔带了鲜肉过来,要给咱们露一手呢。,胖阿叔拿了肉肉过来,要帮侬烧好吃的。,方启钊,,
+c02_10瞎子_3,还不快点过来谢谢人家?,还不快点过来谢谢阿叔?,方启钊,,
+,,
\ No newline at end of file
diff --git a/asset/dialogue/c02.csv.import b/asset/dialogue/c02.csv.import
index 57268566..c518e98d 100644
--- a/asset/dialogue/c02.csv.import
+++ b/asset/dialogue/c02.csv.import
@@ -6,10 +6,10 @@ uid="uid://c3t4gt42ce5ep"
[deps]
-files=["res://asset/dialogue/c02.zh_CN.translation"]
+files=["res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/c02.zh_SH.translation", "res://asset/dialogue/c02.zh_SH.translation"]
source_file="res://asset/dialogue/c02.csv"
-dest_files=["res://asset/dialogue/c02.zh_CN.translation"]
+dest_files=["res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/c02.zh_SH.translation", "res://asset/dialogue/c02.zh_SH.translation"]
[params]
diff --git a/asset/dialogue/c02.dialogue b/asset/dialogue/c02.dialogue
index 15d66421..3a7e0783 100644
--- a/asset/dialogue/c02.dialogue
+++ b/asset/dialogue/c02.dialogue
@@ -16,7 +16,7 @@
#[#anonymous]
李兰: 真的假的?你钻进去啦,你这个体型进得去哒? [ID:c02_6偷听对话_李氏_1_fx]
王守义: 小声点,让人听见了倒惹麻烦。 [ID:c02_6偷听对话_癞子_1_fx]
-李兰: 那你说说,都看到什么啦?[ID:c02_6偷听对话_李氏_2_fx]
+李兰: 那你说说,都看到什么啦? [ID:c02_6偷听对话_李氏_2_fx]
王守义: 不好说,那里头弯弯绕绕的,我得找个时间再去看一眼。 [ID:c02_6偷听对话_癞子_2_fx]
王守义: 对了,你改天撺个局,让方启钊和胖子一块来搓麻,我顺嘴问一道。 [ID:c02_6偷听对话_癞子_3_fx]
王守义: 其余的,不要声张。 [ID:c02_6偷听对话_癞子_4_fx]
@@ -28,7 +28,7 @@
李兰: (叹气)这碗里连点油水也没有,前年的衣裳能装下两个我。 [ID:c02_6偷听对话_李氏_6_fx]
李兰: 想当年,咱们好歹也过了几年体面日子。 [ID:c02_6偷听对话_李氏_7_fx]
王守义: 等胖子那肉铺开门,你趁晚上摸黑去,一句话也别说,敲六下门,三快三慢。 [ID:c02_6偷听对话_癞子_7_fx]
-李兰: 我记着了。 [#wait=2] [ID:c02_6偷听对话_李氏_8_fx]
+李兰: 我记着了。 [ID:c02_6偷听对话_李氏_8_fx]
李兰: ...谁在外面?! [ID:c02_6偷听对话_李氏_9_fx]
=> END
@@ -118,32 +118,32 @@
~ c02_尾声霸凌童谣
-???: 下雨了、打烊了、小脚小孩跳舞了 [#wait=4.7] [ID:c02_尾声霸凌童谣1]
-???: 摔倒了、哭鼻头、小脚上面出血了 [#wait=3.8] [ID:c02_尾声霸凌童谣2]
-???: 哭鼻头、哭鼻头~小脚小孩哭鼻头... [#wait=6] [ID:c02_尾声霸凌童谣3]
+???: 下雨了、打烊了、小脚小孩跳舞了 [ID:c02_尾声霸凌童谣1]
+???: 摔倒了、哭鼻头、小脚上面出血了 [ID:c02_尾声霸凌童谣2]
+???: 哭鼻头、哭鼻头~小脚小孩哭鼻头... [ID:c02_尾声霸凌童谣3]
=> END
~ c02_未完成拯救小蝉的游戏
-小蝉: 再见了,大姐姐。[ID:c02_9小蝉_游戏失败效果]
+小蝉: 再见了,大姐姐。 [ID:c02_9小蝉_游戏失败效果]
=> END
~ c02_男孩们喊着火啦
-男孩黄: 着火啦!着火啦![ID:c02_小孩喊着火啦1]
-男孩蓝: 水!打水![ID:c02_小孩喊着火啦2]
+男孩黄: 着火啦!着火啦! [ID:c02_小孩喊着火啦1]
+男孩蓝: 水!打水! [ID:c02_小孩喊着火啦2]
=> END
~ c02_s11_谢幕交谈1
-吕萍: 小姑娘,你是不是认得我啊?[#ban_skip] [ID:c02_10小蝶_1]
-方小蝉: 嗯。[#ban_skip] [ID:c02_10小蝉_1]
-吕萍: 我能感觉到,从我一进来,你就在盯着我。[#ban_skip] [ID:c02_10小蝶_2]
-方小蝉: ...你不记得我了。[#ban_skip] [ID:c02_10小蝉_2]
-吕萍: ...我更好奇另一件事。[#ban_skip] [ID:c02_10小蝶_3]
+吕萍: 小姑娘,你是不是认得我啊? [ID:c02_10小蝶_1]
+方小蝉: 嗯。 [ID:c02_10小蝉_1]
+吕萍: 我能感觉到,从我一进来,你就在盯着我。 [ID:c02_10小蝶_2]
+方小蝉: ...你不记得我了。 [ID:c02_10小蝉_2]
+吕萍: ...我更好奇另一件事。 [ID:c02_10小蝶_3]
=> END
~ c02_s11_谢幕交谈2
-吕萍: 你...是怎么死的?[#ban_skip] [ID:c02_10小蝶_4]
+吕萍: 你...是怎么死的? [ID:c02_10小蝶_4]
=> END
#第一次和疯子见面,小心翼翼询问
diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv
index ff1a173d..a6dbffff 100644
--- a/asset/dialogue/item_description.csv
+++ b/asset/dialogue/item_description.csv
@@ -186,7 +186,7 @@ c02_瞎子卧室_十字架,院长房间里也有一个类似的十字架。,,,,,
c02_小蝉盒子特写,我会在盒子里一直陪着你 :3,,,,,
c02_小蝉恨他们,我恨他们!,,,,,
c02_火灾等待准备,还没准备好点火呢,,,,,
-c02_霸凌救小蝉开始,啊!我得想办法帮帮那个小女孩...,,,,,
+c02_霸凌救小蝉开始,啊!我得想办法帮帮她...,,,,,
c02_点火前阻止右移,没时间浪费了!想想办法救出小蝉...,,,,,
g_偷听对话,偷听对话,,,,,
g_疯子看井,疯子看井,,,,,
diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue
index 3927a6f5..895f3162 100644
--- a/asset/dialogue/item_description.dialogue
+++ b/asset/dialogue/item_description.dialogue
@@ -192,7 +192,7 @@
算命的摊位? [ID:c02_院子_算命摊位]
好像要下雨了? [ID:c02_院子_要下雨]
怎么天上掉了个小鞋子下来? [ID:c02_s03_掉鞋子]
-通往后院的铁门,锁住了 [ID:c02_s03_铁门]
+锁住了 [ID:c02_s03_铁门]
# c02 保卫科
芦昌公寓居民登记簿,黄国栋记。 [ID:c02_保卫科花名册os]
祭台是专门供奉这只大老鼠的? [ID:c02_保卫科祭台os]
@@ -224,7 +224,7 @@
我恨他们![ID:c02_小蝉恨他们]
# c02 火灾
还没准备好点火呢 [ID:c02_火灾等待准备]
-啊!我得想办法帮帮那个小女孩... [ID:c02_霸凌救小蝉开始]
+啊!我得想办法帮帮她... [ID:c02_霸凌救小蝉开始]
没时间浪费了!想想办法救出小蝉... [ID:c02_点火前阻止右移]
=> END
diff --git a/asset/dialogue/npc.csv b/asset/dialogue/npc.csv
index 1c947125..4cdb71df 100644
--- a/asset/dialogue/npc.csv
+++ b/asset/dialogue/npc.csv
@@ -1,18 +1,24 @@
-keys,zh_CN,_character,_notes,_tags
-c01_6卖艺小孩A_1,您、您行行好,给点...,小丁,,
-c01_6卖艺小孩B_1,祝恁身子骨儿杠赛来,吃嘛嘛香木个病,一年更比一年行!,蛋蛋,,
-c01_6卖艺小孩C_1,宾安哗在,有才有财!,沫儿,,
-c01_6幼年陆仁_1,这帮孩子们太苦了,前些天又摔坏了一个,您行行好...,陆仁,,
-c02_2疯子_小蝶开场白,不好意思师傅,你知道这里有姓吕的人家吗?,吕萍,,
-c02_2疯子_1,出去...出去...!,???,,[#anonymous]
-c02_2疯子_2,前天是个小毛孩,今天又来了个女人,都是他们派来的探子、间谍,没安好心!,???,,[#anonymous]
-c02_2疯子_3,这是我家,我的东西,我的宝贝,听到没有?!别吵了...都出去!,???,,[#anonymous]
-c02_3疯子_1,囡囡看,月亮掉进水里喽!,???,,
-c02_3疯子_2,不对、不对,连月亮也骗我!,???,,
-c02_3疯子_3,月牙儿,不吉利,圆圆的,一块也不能缺...,???,,
-你看见没有?这月亮够不够圆?,你看见没有?这月亮够不够圆?,???,,
-杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑...,杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑...,,,
-扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑!,扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑!,,,
-我正找着那东西呢,你瞧见没有?,我正找着那东西呢,你瞧见没有?,,,
-什么东西?,什么东西?,小蝶,,
-找!找啊!一起找!,找!找啊!一起找!,???,,
+keys,zh_CN,zh_SH,_character,_notes,_tags
+c03_疯子对话圆月亮1,你看见没有?这月亮够不够圆?,侬看到伐?月亮圆伐?,???,,
+c03_疯子对话圆月亮2,杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑...,杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑……,???,,
+c03_疯子对话圆月亮3,扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑!,扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽……一担挑啊,一担挑!,???,,
+c03_疯子对话圆月亮4,我正找着那东西呢,你瞧见没有?,我在寻那东西呢,你们看到过伐?,???,,
+c03_疯子对话圆月亮5,什么东西?,啥东西?,小蝶,,
+c03_疯子对话圆月亮6,找!找啊!一起找!,寻啊!寻啊!一道寻!,???,,
+c01_6卖艺小孩A_1,您、您行行好,给点...,,小丁,,
+c01_6卖艺小孩B_1,祝恁身子骨儿杠赛来,吃嘛嘛香木个病,一年更比一年行!,,蛋蛋,,
+c01_6卖艺小孩C_1,宾安哗在,有才有财!,,沫儿,,
+c01_6幼年陆仁_1,这帮孩子们太苦了,前些天又摔坏了一个,您行行好...,,陆仁,,
+c02_2疯子_小蝶开场白,不好意思师傅,你知道这里有姓吕的人家吗?,伐好意思师傅,侬晓得此地有姓吕的人家吗?,吕萍,,
+c02_2疯子_1,出去...出去...!,,???,,[#anonymous]
+c02_2疯子_2,前天是个小毛孩,今天又来了个女人,都是他们派来的探子、间谍,没安好心!,前两天来了个小册佬,今朝又来了个女人,都是他们叫过来的贼骨头、细作,鬼出莫辩的东西!,???,,[#anonymous]
+c02_2疯子_3,这是我家,我的东西,我的宝贝,听到没有?!别吵了...都出去!,这是我的窝里,我的东西,我的宝贝,听清楚了伐?!覅吵了……统统出去!,???,,[#anonymous]
+c02_3疯子_1,囡囡看,月亮掉进水里喽!,囡囡看,月落进水里喽!,???,,
+c02_3疯子_2,不对、不对,连月亮也骗我!,伐对、伐对,连月亮也骗我!,???,,
+c02_3疯子_3,月牙儿,不吉利,圆圆的,一块也不能缺...,就半个月亮,不灵光的,要圆的,就要圆的,一块也不好少…,???,,
+c02_疯子对话圆月亮1,你看见没有?这月亮够不够圆?,,???,,
+c02_疯子对话圆月亮2,杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑...,,???,,
+c02_疯子对话圆月亮3,扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑!,,???,,
+c02_疯子对话圆月亮4,我正找着那东西呢,你瞧见没有?,,???,,
+c02_疯子对话圆月亮5,什么东西?,,小蝶,,
+c02_疯子对话圆月亮6,找!找啊!一起找!,,???,,
diff --git a/asset/dialogue/npc.csv.import b/asset/dialogue/npc.csv.import
index e140582f..bce93a47 100644
--- a/asset/dialogue/npc.csv.import
+++ b/asset/dialogue/npc.csv.import
@@ -6,10 +6,10 @@ uid="uid://4v8jvjst014y"
[deps]
-files=["res://asset/dialogue/npc.zh_CN.translation"]
+files=["res://asset/dialogue/npc.zh_CN.translation", "res://asset/dialogue/npc.zh_SH.translation"]
source_file="res://asset/dialogue/npc.csv"
-dest_files=["res://asset/dialogue/npc.zh_CN.translation"]
+dest_files=["res://asset/dialogue/npc.zh_CN.translation", "res://asset/dialogue/npc.zh_SH.translation"]
[params]
diff --git a/asset/dialogue/npc.dialogue b/asset/dialogue/npc.dialogue
index 992e6fe2..c083a6c9 100644
--- a/asset/dialogue/npc.dialogue
+++ b/asset/dialogue/npc.dialogue
@@ -19,22 +19,21 @@
~ c02_疯子_01
吕萍: 不好意思师傅,你知道这里有姓吕的人家吗? [ID:c02_2疯子_小蝶开场白]
-???: 出去...出去...! [#anonymous] [ID:c02_2疯子_1]
-???: 前天是个小毛孩,今天又来了个女人,都是他们派来的探子、间谍,没安好心! [#anonymous] [ID:c02_2疯子_2]
-???: 这是我家,我的东西,我的宝贝,听到没有?!别吵了...都出去! [#anonymous] [ID:c02_2疯子_3]
+???: 出去...出去...! [#anonymous] [ID:c02_2疯子_1]
+???: 前天是个小毛孩,今天又来了个女人,都是他们派来的探子、间谍,没安好心! [#anonymous] [ID:c02_2疯子_2]
+???: 这是我家,我的东西,我的宝贝,听到没有?!别吵了...都出去! [#anonymous] [ID:c02_2疯子_3]
=> END
~ c02_s11_井边疯子对话
???: 囡囡看,月亮掉进水里喽! [ID:c02_3疯子_1]
???: 不对、不对,连月亮也骗我! [ID:c02_3疯子_2]
???: 月牙儿,不吉利,圆圆的,一块也不能缺... [ID:c02_3疯子_3]
-=> END
-
-~ c03_疯子对话
-???: 你看见没有?这月亮够不够圆?
-杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑...
-扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑!
-我正找着那东西呢,你瞧见没有?
-小蝶: 什么东西?
-???: 找!找啊!一起找!
+#=> END
+#~ c02_疯子对话圆月亮
+???: 你看见没有?这月亮够不够圆? [ID:c02_疯子对话圆月亮1]
+???: 杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑... [ID:c02_疯子对话圆月亮2]
+???: 扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑! [ID:c02_疯子对话圆月亮3]
+???: 我正找着那东西呢,你瞧见没有? [ID:c02_疯子对话圆月亮4]
+小蝶: 什么东西? [ID:c02_疯子对话圆月亮5]
+???: 找!找啊!一起找! [ID:c02_疯子对话圆月亮6]
=> END
\ No newline at end of file
diff --git a/icon.svg b/icon.svg
deleted file mode 100644
index 9d8b7fa1..00000000
--- a/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/manager/scene/scene_manager.gd b/manager/scene/scene_manager.gd
index 9c5ba026..c705bbe9 100644
--- a/manager/scene/scene_manager.gd
+++ b/manager/scene/scene_manager.gd
@@ -11,8 +11,6 @@ enum VIBE {
signal ground_ready(ground: Ground2D)
signal ground_start(ground: Ground2D)
-var first_entered = true
-
func _ready():
process_mode = Node.PROCESS_MODE_ALWAYS
@@ -305,7 +303,7 @@ func checkout_index_page(transition := true):
_jump_back_to_index_and_quit_main()
-var packed_index_page := preload("res://scene/index_page.tscn")
+var packed_index_page := preload("uid://c4ycvdsabi7lw")
func _jump_back_to_index_and_quit_main():
@@ -317,16 +315,22 @@ func _jump_back_to_index_and_quit_main():
# * 阅读 SceneTree 的 cpp 源码,change_scene_to_packed 看似无异常
# 问题出现在 Ground 中 get_node("/root").add_child(main)
# 需要再指定 current_scene: get_tree().current_scene = main
+ # 防止撕裂帧
+ await get_tree().process_frame
get_tree().change_scene_to_packed(packed_index_page)
# 防止游戏卡死 reset pause counter
pause_counter = 0
get_tree().paused = false
+var main_scene = preload("uid://dygvcmykn02n8")
+
+
func enter_main_scene():
- # 从 index 进入 main
- # get_tree().change_scene_to_packed.call_deferred(main_scene)
- get_tree().change_scene_to_file.call_deferred("res://scene/main.tscn")
+ # 防止撕裂帧
+ await get_tree().process_frame
+ get_tree().change_scene_to_packed.call_deferred(main_scene)
+ # get_tree().change_scene_to_file.call_deferred("uid://dygvcmykn02n8")
pause_counter = 0
get_tree().paused = false
diff --git a/project.godot b/project.godot
index a0b716c7..3cdc9e96 100644
--- a/project.godot
+++ b/project.godot
@@ -27,12 +27,14 @@ config/name_localized={
"zh_Hant": "衔蝶"
}
config/version="1.0"
-run/main_scene="res://scene/index_page.tscn"
+run/main_scene="uid://bpjjq1wdqm7um"
config/use_custom_user_dir=true
config/custom_user_dir_name="xiandie"
config/features=PackedStringArray("4.4", "Mobile")
-boot_splash/image="uid://bcc0bk34l5gbc"
-config/icon="res://icon.svg"
+boot_splash/image="uid://dt7dddmd3igrc"
+config/icon="uid://dgllr7ej7rnuq"
+config/macos_native_icon="res://游戏启动图标.icns"
+config/windows_native_icon="res://游戏启动图标.ico"
boot_splash/minimum_display_time=1000
[audio]
@@ -217,7 +219,7 @@ panel={
[internationalization]
-locale/translations=PackedStringArray("res://asset/dialogue/c01.zh_CN.translation", "res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/inspect_content.zh_CN.translation", "res://asset/dialogue/item_description.zh_CN.translation", "res://asset/dialogue/names.zh_CN.translation", "res://asset/dialogue/npc.zh_CN.translation", "res://asset/dialogue/c01.zh_SH.translation", "res://asset/dialogue/纯中文_无需本地化.zh_CN.translation", "res://asset/dialogue/c01.en.translation", "res://asset/dialogue/c03.zh_CN.translation", "res://asset/dialogue/c04.zh_CN.translation", "res://asset/dialogue/c05.zh_CN.translation", "res://asset/dialogue/c06.zh_CN.translation", "res://asset/dialogue/item_description.en.translation", "res://asset/dialogue/item_description.zh_SH.translation")
+locale/translations=PackedStringArray("res://asset/dialogue/c01.zh_CN.translation", "res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/inspect_content.zh_CN.translation", "res://asset/dialogue/item_description.zh_CN.translation", "res://asset/dialogue/names.zh_CN.translation", "res://asset/dialogue/npc.zh_CN.translation", "res://asset/dialogue/c01.zh_SH.translation", "res://asset/dialogue/纯中文_无需本地化.zh_CN.translation", "res://asset/dialogue/c01.en.translation", "res://asset/dialogue/c03.zh_CN.translation", "res://asset/dialogue/c04.zh_CN.translation", "res://asset/dialogue/c05.zh_CN.translation", "res://asset/dialogue/c06.zh_CN.translation", "res://asset/dialogue/item_description.en.translation", "res://asset/dialogue/item_description.zh_SH.translation", "res://asset/dialogue/c02.zh_SH.translation")
locale/translations_pot_files=PackedStringArray("res://asset/dialogue/item_description.dialogue", "res://asset/dialogue/c01.dialogue", "res://asset/dialogue/c02.dialogue", "res://asset/dialogue/inspect_content.dialogue", "res://asset/dialogue/npc.dialogue", "res://asset/dialogue/c03.dialogue", "res://asset/dialogue/c04.dialogue", "res://asset/dialogue/c05.dialogue", "res://asset/dialogue/c06.dialogue", "res://asset/dialogue/纯中文_无需本地化.dialogue")
locale/test="zh-Hans"
locale/fallback="zh"
diff --git a/scene/ground/camera/camera_focus_marker.gd b/scene/ground/camera/camera_focus_marker.gd
index 771e0a77..880df4e5 100644
--- a/scene/ground/camera/camera_focus_marker.gd
+++ b/scene/ground/camera/camera_focus_marker.gd
@@ -23,25 +23,24 @@ var _tweeked_position := Vector2.ZERO
var zoom_tween: Tween
var focus_offset := Vector2.ZERO
var shaked_offset := Vector2.ZERO
+var shake_ignore_boundary := false
func _ready() -> void:
if not focusing_node:
push_error("Focusing node not found")
- reset_position_immediately()
-func _enter_tree() -> void:
- if is_node_ready():
- reset_position_immediately()
-
-func shake_camera(strength := 7.0, recovery_speed := 4.0):
+func shake_camera(strength := 7.0, recovery_speed := 4.0, ignore_boundary := false):
shake_strength = strength
shake_recovery_speed = recovery_speed
+ shake_ignore_boundary = ignore_boundary
+
func reset_position_immediately():
if focusing_node:
global_position = focusing_node.global_position + _tweeked_position + force_offset
+ print("CameraFocusMarker reset_position_immediately to:", global_position)
func tweak_position(velocity, facing_direction):
@@ -60,28 +59,38 @@ func tweak_position(velocity, facing_direction):
func _physics_process(delta: float) -> void:
if not focusing_node:
return
+ # handle shake, via _shaked_position
+ if shake_strength > 0.0:
+ shake_strength = lerpf(shake_strength, 0.0, shake_recovery_speed * delta)
+ shaked_offset = Vector2(
+ randf_range(-shake_strength, shake_strength),
+ randf_range(-shake_strength, shake_strength)
+ )
+ else:
+ shaked_offset = Vector2.ZERO
+ shake_ignore_boundary = false
# set camera's position
var target_position = (
- focusing_node.global_position + _tweeked_position + force_offset + focus_offset + shaked_offset
+ focusing_node.global_position
+ + _tweeked_position
+ + force_offset
+ + focus_offset
+ + shaked_offset
)
if focusing_node is MainPlayer:
# player 的焦点在脚底,所以需要偏移 player 的高度。注意 y 轴是向下的,所以是减去 player 的高度
target_position.y -= focusing_node.current_animation_config.os_height * 0.7
# clamp the position
- var margin = half_screen_size / zoom_ratio
- margin.y += shaded_height
- target_position.x = clamp(target_position.x, limit_left + margin.x, limit_right - margin.x)
- target_position.y = clamp(target_position.y, limit_top + margin.y, limit_bottom - margin.y)
+ if not shake_ignore_boundary:
+ var margin = half_screen_size / zoom_ratio
+ margin.y += shaded_height
+ target_position.x = clamp(target_position.x, limit_left + margin.x, limit_right - margin.x)
+ target_position.y = clamp(target_position.y, limit_top + margin.y, limit_bottom - margin.y)
# easing with speed
global_position = lerp(global_position, target_position, speed * delta)
# var taget_zoom = lerpf(zoom.x, zoom_ratio, speed * delta)
# zoom = Vector2(taget_zoom, taget_zoom)
zoom = Vector2(zoom_ratio, zoom_ratio)
- # handle shake, via _shaked_position
- if shake_strength > 0.0:
- shake_strength = lerpf(shake_strength, 0.0, shake_recovery_speed * delta)
- shaked_offset = Vector2(randf_range(-shake_strength, shake_strength), randf_range(-shake_strength, shake_strength))
- global_position += shaked_offset
func tween_zoom(ratio: float, duration := 1.5):
diff --git a/scene/ground/camera/camera_focus_marker.tscn b/scene/ground/camera/camera_focus_marker.tscn
index c8d9a048..92e5f9b5 100644
--- a/scene/ground/camera/camera_focus_marker.tscn
+++ b/scene/ground/camera/camera_focus_marker.tscn
@@ -3,4 +3,5 @@
[ext_resource type="Script" uid="uid://dphabatkubjgf" path="res://scene/ground/camera/camera_focus_marker.gd" id="1_7t4e6"]
[node name="CameraFocusMarker" type="Camera2D"]
+process_mode = 3
script = ExtResource("1_7t4e6")
diff --git a/scene/ground/ground.gd b/scene/ground/ground.gd
index cbd2a374..d469d4db 100644
--- a/scene/ground/ground.gd
+++ b/scene/ground/ground.gd
@@ -11,12 +11,12 @@ var default_portal := "left"
set(val):
player_y_fixed = val
if is_node_ready():
- _reset_player_y()
+ reset_player_y()
@export var player_y := 70:
set(val):
player_y = val
if is_node_ready():
- _reset_player_y()
+ reset_player_y()
@export var replace_player_to_portal := false:
set(val):
replace_player_to_portal = false
@@ -106,7 +106,7 @@ func _restart_from_main():
get_tree().change_scene_to_file.call_deferred("res://scene/main.tscn")
-func _reset_player_y():
+func reset_player_y():
# 从屏幕下边缘算起
if player_y_fixed:
player.set_y_from_ground(158.0 - player_y)
@@ -155,7 +155,7 @@ func move_player_to_portal(portal_name: String) -> void:
player.set_facing_direction(Vector2.RIGHT)
elif portal_name == "right":
player.set_facing_direction(Vector2.LEFT)
- _reset_player_y()
+ reset_player_y()
if GlobalConfig.DEBUG:
print("move player to portal:", portal_name, portal_node.global_position)
elif player:
diff --git a/scene/ground/ground.tscn b/scene/ground/ground.tscn
index d39d6ba4..31b37ab5 100644
--- a/scene/ground/ground.tscn
+++ b/scene/ground/ground.tscn
@@ -71,7 +71,7 @@ offset = Vector2(0, -120)
[node name="PlayerLine2D" type="Line2D" parent="ParallaxForeground"]
unique_name_in_owner = true
-points = PackedVector2Array(37, 150, 519, 150)
+points = PackedVector2Array(20, 150, 544, 150)
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
unique_name_in_owner = true
diff --git a/scene/ground/ground_loader.gd b/scene/ground/ground_loader.gd
index 1b543fbf..bfd0406d 100644
--- a/scene/ground/ground_loader.gd
+++ b/scene/ground/ground_loader.gd
@@ -16,7 +16,7 @@ class_name GroundLoader extends Node2D
@onready var mask_layer := %MaskLayer as CanvasLayer
@onready var mask := %Mask as ColorRect
-var first_entered := true
+var has_entered := false
var ground: Ground2D
var display_mask_sec = 0.0
@@ -189,25 +189,24 @@ func _add_ground():
add_child(ground)
ground.name = "Ground"
if not Engine.is_editor_hint():
- # move player to portal
- ground.move_player_to_portal(entrance_portal)
# 更新玩家位置
- if first_entered:
+ if not has_entered:
_update_player_position_from_archive()
- first_entered = false
- # SceneManager.release_player()
+ else:
+ # move player to portal
+ ground.move_player_to_portal(entrance_portal)
+ has_entered = true
func _update_player_position_from_archive():
if ignore_archive or Engine.is_editor_hint():
return
var player = SceneManager.get_player() as MainPlayer
- if player:
- # if GlobalConfig.DEBUG:
- # print("update player position", ArchiveManager.archive.player_global_position)
- if ArchiveManager.archive.player_global_position_x >= 0:
- player.global_position.x = ArchiveManager.archive.player_global_position_x
- player.set_facing_direction(ArchiveManager.archive.player_direction)
+ player.global_position.x = ArchiveManager.archive.player_global_position_x
+ player.set_facing_direction(ArchiveManager.archive.player_direction)
+ ground.reset_player_y()
+ # 传送后,重置 camera 位置
+ ground.camera_focus_marker.reset_position_immediately()
func _load_ground_node(scene_name: String) -> Ground2D:
@@ -281,5 +280,5 @@ func _on_resources_reload(res):
print("resources_reload processing:", res)
if not Engine.is_editor_hint() and res.ends_with(".tscn"):
ArchiveManager.save_all()
- first_entered = true
+ has_entered = false
transition_to_scene.call_deferred(current_scene, entrance_portal, 0.0)
diff --git a/scene/ground/scene/c01/s05_院长房间.tscn b/scene/ground/scene/c01/s05_院长房间.tscn
index 4647a877..d29fcfc1 100644
--- a/scene/ground/scene/c01/s05_院长房间.tscn
+++ b/scene/ground/scene/c01/s05_院长房间.tscn
@@ -857,6 +857,9 @@ position = Vector2(21, 39)
texture = ExtResource("3_vmr0f")
offset = Vector2(0, 0)
+[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
+points = PackedVector2Array(40, 149, 530, 150)
+
[node name="DirectionalLight2D" parent="Ground" index="8"]
rotation = -0.000622023
energy = 0.3
diff --git a/scene/ground/scene/c01/s07_书店外.tscn b/scene/ground/scene/c01/s07_书店外.tscn
index 1ba2d93a..2477e8f7 100644
--- a/scene/ground/scene/c01/s07_书店外.tscn
+++ b/scene/ground/scene/c01/s07_书店外.tscn
@@ -155,18 +155,8 @@ holding = true
holding_reason_key = "c01_s07_需要报纸"
[node name="SfxDefault" parent="Ground/DeployLayer/portal_2" index="0"]
-process_mode = 1
volume_db = -2.0
-[node name="SfxOpen" parent="Ground/DeployLayer/portal_2" index="1"]
-process_mode = 1
-
-[node name="SfxEnter" parent="Ground/DeployLayer/portal_2" index="2"]
-process_mode = 1
-
-[node name="SfxLocked" parent="Ground/DeployLayer/portal_2" index="3"]
-process_mode = 1
-
[node name="Sign" parent="Ground/DeployLayer/portal_2" index="4"]
enabled = true
diff --git a/scene/ground/scene/c01/s08_书店.tscn b/scene/ground/scene/c01/s08_书店.tscn
index 8b1e8b94..4e8c4818 100644
--- a/scene/ground/scene/c01/s08_书店.tscn
+++ b/scene/ground/scene/c01/s08_书店.tscn
@@ -206,7 +206,7 @@ texture = ExtResource("10_4e3a1")
offset = Vector2(0, 40)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(30, 150, 545, 150)
+points = PackedVector2Array(22, 150, 545, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
energy = 0.0
diff --git a/scene/ground/scene/c01/s09_公寓楼外.tscn b/scene/ground/scene/c01/s09_公寓楼外.tscn
index 4f3ac543..69dbe518 100644
--- a/scene/ground/scene/c01/s09_公寓楼外.tscn
+++ b/scene/ground/scene/c01/s09_公寓楼外.tscn
@@ -55,7 +55,7 @@ animations = [{
[sub_resource type="RectangleShape2D" id="RectangleShape2D_j34rt"]
resource_local_to_scene = true
-size = Vector2(150, 130)
+size = Vector2(30, 130)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4sgc5"]
size = Vector2(40, 80)
@@ -72,6 +72,7 @@ script = ExtResource("2_u053j")
oneshot_animation = ""
[node name="花枯萎音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
+process_mode = 1
stream = ExtResource("3_b5sdk")
volume_db = -8.0
autoplay = true
@@ -85,7 +86,7 @@ bgm_title = "诡异环境音2"
bgm_stream = ExtResource("6_lrqbi")
metadata/_custom_type_script = "uid://bbg4vopj4apl6"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
position = Vector2(0, -15)
texture = ExtResource("3_828bq")
offset = Vector2(0, -180)
@@ -155,6 +156,7 @@ bus = &"game_sfx"
script = ExtResource("11_6w7lv")
[node name="Sfx鬼差擦肩而过" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Ghost"]
+process_mode = 1
stream = ExtResource("8_sq0x2")
max_distance = 500.0
bus = &"game_sfx"
@@ -172,6 +174,7 @@ autoplay = "书店老板害怕"
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/书店老板害怕/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -197,6 +200,7 @@ autoplay = "孤儿院小孩害怕1"
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/孤儿院小孩害怕1/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -223,6 +227,7 @@ position = Vector2(7, 0)
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/孤儿院小孩害怕2/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -248,6 +253,7 @@ autoplay = "举碗小孩害怕"
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/杂戏团小孩害怕1/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -274,6 +280,7 @@ position = Vector2(-26, 1)
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/杂戏团小孩害怕2/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -299,6 +306,7 @@ autoplay = "夜晚举腿小孩害怕"
script = ExtResource("20_nwvnr")
[node name="Sfx鬼差浮现" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/杂戏团小孩害怕3/鬼影浮现"]
+process_mode = 1
stream = ExtResource("7_5sju7")
max_distance = 1000.0
attenuation = 2.0
@@ -346,14 +354,14 @@ energy = 0.7
range_item_cull_mask = 2
texture = ExtResource("12_828bq")
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(41, 103)
character = "小小蝶"
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 3460, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
energy = 0.4
blend_mode = 1
diff --git a/scene/ground/scene/c01/s10_公寓楼道.tscn b/scene/ground/scene/c01/s10_公寓楼道.tscn
index 72e8cc92..2efef107 100644
--- a/scene/ground/scene/c01/s10_公寓楼道.tscn
+++ b/scene/ground/scene/c01/s10_公寓楼道.tscn
@@ -21,6 +21,7 @@ script = ExtResource("2_4kx83")
oneshot_animation = ""
[node name="背景音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
+process_mode = 1
stream = ExtResource("3_6prdo")
volume_db = -7.924
autoplay = true
@@ -34,7 +35,7 @@ mode = "stop"
bgm_title = "诡异环境音2"
metadata/_custom_type_script = "uid://bbg4vopj4apl6"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_slkid")
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
@@ -56,14 +57,14 @@ texture = null
ambient_light_scale = 1.2
ambient_light_color = Color(0.895255, 0.473027, 0.312609, 1)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
visible = false
character = "小小蝶"
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 665, 150)
+points = PackedVector2Array(18, 150, 671, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
energy = 0.6
blend_mode = 1
diff --git a/scene/ground/scene/c01/s11_黄包车演出.tscn b/scene/ground/scene/c01/s11_黄包车演出.tscn
index de6aed48..456ec52e 100644
--- a/scene/ground/scene/c01/s11_黄包车演出.tscn
+++ b/scene/ground/scene/c01/s11_黄包车演出.tscn
@@ -154,21 +154,23 @@ libraries = {
&"": SubResource("AnimationLibrary_6ojod")
}
script = ExtResource("2_espm6")
-oneshot_animation = ""
[node name="黄包车Sfx" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
+process_mode = 1
stream = ExtResource("3_ummkx")
volume_db = -7.924
bus = &"game_sfx"
script = ExtResource("3_vx53v")
[node name="chapter_sfx" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
+process_mode = 1
stream = ExtResource("5_amglq")
volume_db = -5.0
bus = &"game_sfx"
script = ExtResource("3_vx53v")
[node name="黄包车背景音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"]
+process_mode = 1
stream = SubResource("AudioStreamSynchronized_s11la")
autoplay = true
bus = &"game_sfx"
diff --git a/scene/ground/scene/c01/s12_书店外_诡异版.tscn b/scene/ground/scene/c01/s12_书店外_诡异版.tscn
index d82e64ba..5b14701e 100644
--- a/scene/ground/scene/c01/s12_书店外_诡异版.tscn
+++ b/scene/ground/scene/c01/s12_书店外_诡异版.tscn
@@ -100,6 +100,7 @@ bgm_stream = ExtResource("4_mxf8g")
metadata/_custom_type_script = "uid://bbg4vopj4apl6"
[node name="Sfx鬼差出场" type="AudioStreamPlayer2D" parent="Ground/AnimationPlayer" index="1"]
+process_mode = 1
position = Vector2(1443, 41)
stream = ExtResource("5_5qtdl")
bus = &"game_sfx"
@@ -107,12 +108,13 @@ script = ExtResource("6_mxf8g")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="Sfx鬼差擦肩而过" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"]
+process_mode = 1
stream = ExtResource("7_denrd")
bus = &"game_sfx"
script = ExtResource("6_p7n7n")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_npdxo")
offset = Vector2(0, -158)
@@ -296,14 +298,14 @@ energy = 0.7
range_item_cull_mask = 2
texture = ExtResource("17_nta2f")
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(41, 98)
character = "小小蝶"
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 3050, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
energy = 0.4
blend_mode = 1
diff --git a/scene/ground/scene/c02/s02_过道.tscn b/scene/ground/scene/c02/s02_过道.tscn
index fc82a0ff..78b07851 100644
--- a/scene/ground/scene/c02/s02_过道.tscn
+++ b/scene/ground/scene/c02/s02_过道.tscn
@@ -253,7 +253,7 @@ position = Vector2(53, 98)
facing_direction = Vector2(1, 0)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 670, 150)
+points = PackedVector2Array(19, 150, 686, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn
index 4fdb0fc8..d7c59101 100644
--- a/scene/ground/scene/c02/s03_院子.tscn
+++ b/scene/ground/scene/c02/s03_院子.tscn
@@ -606,6 +606,7 @@ collision_width_and_x = Vector2(40, 0)
z_index = 6
position = Vector2(2063, 50)
packed_scene = ExtResource("26_yy4fp")
+action_key = 3
[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="24" instance=ExtResource("25_iyaiw")]
position = Vector2(1319, 40)
@@ -993,7 +994,7 @@ position = Vector2(-88, -7)
scale = Vector2(1.08, 1.08)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 2250, 150)
+points = PackedVector2Array(17, 150, 2250, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
diff --git a/scene/ground/scene/c02/s04_保卫科.tscn b/scene/ground/scene/c02/s04_保卫科.tscn
index 229c6271..cb98ca15 100644
--- a/scene/ground/scene/c02/s04_保卫科.tscn
+++ b/scene/ground/scene/c02/s04_保卫科.tscn
@@ -147,7 +147,7 @@ scale = Vector2(1.05, 1.05)
texture = ExtResource("6_tio43")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(70, 150, 495, 150)
+points = PackedVector2Array(66, 150, 495, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.gd b/scene/ground/scene/c02/s05_一楼内侧楼道.gd
index fe1e5f78..a431ca3d 100644
--- a/scene/ground/scene/c02/s05_一楼内侧楼道.gd
+++ b/scene/ground/scene/c02/s05_一楼内侧楼道.gd
@@ -72,7 +72,7 @@ func _on_madman_interacted() -> void:
func xiaochan_disappear():
var xc = $"../DeployLayer/Ambush小蝉消失/ProSprite" as AnimatedSprite2D
xc.play("小蝉背对转头")
- create_tween().tween_property(xc, "modulate:a", 0.0, 2.2)
+ create_tween().tween_property(xc, "modulate:a", 0.0, 2.0)
func wood_puppet() -> void:
diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
index abc9c9cb..72c9c886 100644
--- a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
+++ b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
@@ -275,15 +275,15 @@ texture = ExtResource("22_laquj")
texture_scale = 0.3
[node name="Ambush小蝉消失" parent="Ground/DeployLayer" index="16" instance=ExtResource("8_rcuxq")]
-visible = false
-position = Vector2(464, 56)
+visibility_layer = 5
+position = Vector2(394, 53)
enabled = false
hook_method = "xiaochan_disappear"
[node name="ProSprite" parent="Ground/DeployLayer/Ambush小蝉消失" instance=ExtResource("22_heq1x")]
-position = Vector2(-270, 7)
+position = Vector2(-180, 5)
sprite_frames = ExtResource("7_mrltr")
-animation = &"小蝉背对呼吸帧"
+animation = &"小蝉背对转头"
autoplay = "小蝉背对呼吸帧"
flip_h = true
@@ -316,10 +316,9 @@ scale = Vector2(1.1, 1.1)
texture = ExtResource("8_tueh3")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 700, 150)
+points = PackedVector2Array(23, 150, 700, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
-visible = false
energy = 0.9
blend_mode = 1
diff --git a/scene/ground/scene/c02/s06_二楼.tscn b/scene/ground/scene/c02/s06_二楼.tscn
index 63a6e425..66dadba7 100644
--- a/scene/ground/scene/c02/s06_二楼.tscn
+++ b/scene/ground/scene/c02/s06_二楼.tscn
@@ -1167,7 +1167,7 @@ scale = Vector2(1.1, 1.1)
texture = ExtResource("5_26mqt")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 900, 150)
+points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
diff --git a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn
index 6aaf6ac2..f2157861 100644
--- a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn
+++ b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn
@@ -34,7 +34,7 @@ script = ExtResource("3_geise")
autoplay_group = &"c02_楼道2"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_t0s64")
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
@@ -86,7 +86,7 @@ sign_mark_offset = Vector2(0, -7.38)
title_filter = "c02"
note_key = "c02_二楼老鼠洞"
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(41, 98)
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
@@ -95,7 +95,7 @@ position = Vector2(11, -1)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 610, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.9
blend_mode = 1
diff --git a/scene/ground/scene/c02/s08_瞎子卧室.gd b/scene/ground/scene/c02/s08_瞎子卧室.gd
index 9d51e8d8..31d954e1 100644
--- a/scene/ground/scene/c02/s08_瞎子卧室.gd
+++ b/scene/ground/scene/c02/s08_瞎子卧室.gd
@@ -155,8 +155,8 @@ func setup_rect_after_entered() -> void:
ground.footstep_type = "硬地面"
SceneManager.get_ground().player_y = 70
var rect = player.player_movement_rect
- rect.position.x = 30
- rect.size.x = 515 - 30
+ rect.position.x = 25
+ rect.size.x = 515 - 25
player.player_movement_rect = rect
SceneManager.get_camera_marker().limit_right = room_camera_r_limit
diff --git a/scene/ground/scene/c02/s09_裂缝.tscn b/scene/ground/scene/c02/s09_裂缝.tscn
index af67b5cd..7dc06c20 100644
--- a/scene/ground/scene/c02/s09_裂缝.tscn
+++ b/scene/ground/scene/c02/s09_裂缝.tscn
@@ -183,6 +183,7 @@ script = ExtResource("2_34a6f")
oneshot_animation = ""
[node name="背景音效_通道" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
+process_mode = 1
stream = ExtResource("3_qjenp")
autoplay = true
bus = &"game_sfx"
@@ -194,6 +195,7 @@ mode = "场景背景音"
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="背景音效_红色" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
+process_mode = 1
stream = ExtResource("5_husb8")
bus = &"game_sfx"
script = ExtResource("4_qjenp")
@@ -203,7 +205,7 @@ mode = "场景背景音"
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("6_87wfh")
[node name="眼睛背景" type="Sprite2D" parent="Ground/BGSprite2D" index="0"]
@@ -882,7 +884,7 @@ position = Vector2(2782, -7)
[node name="ParticalsAsh4" parent="Ground/AmbientLayer" index="15" instance=ExtResource("7_4a1t6")]
position = Vector2(2987, -12)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(4461, 115)
lock_move_right = true
character = "吕萍爬行"
@@ -903,12 +905,12 @@ position = Vector2(3421, 25)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(80, 150, 4500.93, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.7
blend_mode = 1
-[node name="UIPointLight2D" parent="Ground" index="9"]
+[node name="UIPointLight2D" parent="Ground" index="10"]
position = Vector2(7016, -4)
[editable path="Ground"]
diff --git a/scene/ground/scene/c02/s10_空房间.gd b/scene/ground/scene/c02/s10_空房间.gd
index 3e0dc99c..73b208ea 100644
--- a/scene/ground/scene/c02/s10_空房间.gd
+++ b/scene/ground/scene/c02/s10_空房间.gd
@@ -79,12 +79,14 @@ func first_enter_ambush():
SceneManager.pop_debug_dialog_info("美术", "第一次进入房间,蔓延的血脚印")
var sprite = $"../DeployLayer/血脚印" as AnimatedSprite2D
sprite.play()
+ $"Sfx脚印出现".play()
await sprite.animation_finished
var gaslight = $"../DeployLayer/煤油灯" as Gaslight
gaslight.turn_on(false)
var tween = create_tween()
tween.tween_interval(1.5)
tween.tween_property(xiao_chan_sprite, "modulate:a", 1.0, 1.0)
+ $"Sfx小蝉出现".play()
tween.tween_callback(SceneManager.release_player)
diff --git a/scene/ground/scene/c02/s10_空房间.tscn b/scene/ground/scene/c02/s10_空房间.tscn
index d18ccafc..b74d6dbe 100644
--- a/scene/ground/scene/c02/s10_空房间.tscn
+++ b/scene/ground/scene/c02/s10_空房间.tscn
@@ -1,12 +1,16 @@
-[gd_scene load_steps=25 format=3 uid="uid://dny21yhtuteap"]
+[gd_scene load_steps=30 format=3 uid="uid://dny21yhtuteap"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_w7j0m"]
[ext_resource type="Script" uid="uid://dkkey7qillk15" path="res://scene/ground/scene/c02/s10_空房间.gd" id="2_egtqi"]
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_kqj5r"]
[ext_resource type="Texture2D" uid="uid://molvyfyy63ik" path="res://asset/art/scene/c02/s10_空房间/bg_空房间.png" id="3_ox8et"]
+[ext_resource type="AudioStream" uid="uid://dfni8aakmmp00" path="res://asset/audio/sfx/旧版/c02/红色印记出现.mp3" id="4_nx6jy"]
+[ext_resource type="AudioStream" uid="uid://bhaws2ungqaf5" path="res://asset/audio/sfx/交互/角色/sfx_哼歌.ogg" id="5_8cwaw"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="5_ylhfc"]
+[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="6_6uftv"]
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="6_27dvh"]
[ext_resource type="Texture2D" uid="uid://cuno8okh8ytw2" path="res://asset/art/scene/c02/s10_空房间/柜子.png" id="6_mty8e"]
+[ext_resource type="AudioStream" uid="uid://b7vxiier136aq" path="res://asset/audio/sfx/旧版/c02/胖子拖.mp3" id="7_5t4pt"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="7_th1ek"]
[ext_resource type="Texture2D" uid="uid://dg43u88jwlbpu" path="res://asset/art/prop/c02/新小猫头.png" id="8_3ftnp"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="8_to1d1"]
@@ -18,6 +22,13 @@
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="15_e24j0"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="15_kqj5r"]
+[sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_apn51"]
+stream_count = 2
+stream_0/stream = ExtResource("4_nx6jy")
+stream_0/volume = 0.0
+stream_1/stream = ExtResource("5_8cwaw")
+stream_1/volume = 8.0
+
[sub_resource type="AtlasTexture" id="AtlasTexture_chbaa"]
atlas = ExtResource("15_kqj5r")
region = Rect2(0, 0, 6, 14)
@@ -87,6 +98,22 @@ script = ExtResource("3_kqj5r")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
+[node name="Sfx小蝉出现" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
+process_mode = 1
+stream = SubResource("AudioStreamSynchronized_apn51")
+volume_db = 12.0
+bus = &"game_sfx"
+script = ExtResource("6_6uftv")
+metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
+
+[node name="Sfx脚印出现" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"]
+process_mode = 1
+stream = ExtResource("7_5t4pt")
+volume_db = 10.0
+bus = &"game_sfx"
+script = ExtResource("6_6uftv")
+metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
+
[node name="BGSprite2D" parent="Ground" index="2"]
position = Vector2(26, 0)
texture = ExtResource("3_ox8et")
diff --git a/scene/ground/scene/c02/s11_一楼火灾.tscn b/scene/ground/scene/c02/s11_一楼火灾.tscn
index 8fde2860..81c63016 100644
--- a/scene/ground/scene/c02/s11_一楼火灾.tscn
+++ b/scene/ground/scene/c02/s11_一楼火灾.tscn
@@ -28,7 +28,7 @@ player_y = 60
script = ExtResource("2_dbjgm")
oneshot_animation = ""
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_rhopa")
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
@@ -214,7 +214,7 @@ z_index = 10
position = Vector2(1391, 0)
texture = ExtResource("11_yxsm1")
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(70, 98)
facing_direction = Vector2(1, 0)
diff --git a/scene/ground/scene/c02/s13_盒子猫二楼.tscn b/scene/ground/scene/c02/s13_盒子猫二楼.tscn
index 8ebe1a93..1a691f0e 100644
--- a/scene/ground/scene/c02/s13_盒子猫二楼.tscn
+++ b/scene/ground/scene/c02/s13_盒子猫二楼.tscn
@@ -26,12 +26,14 @@ script = ExtResource("2_w5nqu")
oneshot_animation = ""
[node name="Sfx结尾演出" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
+process_mode = 1
stream = ExtResource("3_yywsi")
bus = &"game_sfx"
script = ExtResource("4_yywsi")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx脚印" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
+process_mode = 1
stream = ExtResource("5_yywsi")
bus = &"game_sfx"
script = ExtResource("4_yywsi")
@@ -42,7 +44,7 @@ script = ExtResource("6_kmk38")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_miykx")
offset = Vector2(0, -102)
@@ -104,7 +106,7 @@ transfer_mode = false
[node name="追猫猪头怪_传送" parent="Ground/DeployLayer" index="10" instance=ExtResource("10_kmk38")]
position = Vector2(984, 76)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(41, 73)
character = "盒子猫"
@@ -115,7 +117,7 @@ scale = Vector2(1.05, 1.05)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 870, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
blend_mode = 1
diff --git a/scene/ground/scene/c02/s14_盒子猫二楼内侧.tscn b/scene/ground/scene/c02/s14_盒子猫二楼内侧.tscn
index 8a99d8ef..8cf2ad80 100644
--- a/scene/ground/scene/c02/s14_盒子猫二楼内侧.tscn
+++ b/scene/ground/scene/c02/s14_盒子猫二楼内侧.tscn
@@ -25,7 +25,7 @@ script = ExtResource("3_idisw")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_cr1hi")
offset = Vector2(0, -102)
@@ -48,14 +48,14 @@ target_portal = "right"
[node name="追猫猪头怪" parent="Ground/DeployLayer" index="3" instance=ExtResource("5_o47bv")]
position = Vector2(193, 79)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(41, 73)
character = "盒子猫"
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(101, 150, 660, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
blend_mode = 1
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("5_cr1hi")]
diff --git a/scene/ground/scene/c02/s15_盒子猫一楼内侧.tscn b/scene/ground/scene/c02/s15_盒子猫一楼内侧.tscn
index fff978e4..5fb98be6 100644
--- a/scene/ground/scene/c02/s15_盒子猫一楼内侧.tscn
+++ b/scene/ground/scene/c02/s15_盒子猫一楼内侧.tscn
@@ -24,7 +24,7 @@ script = ExtResource("3_etqjj")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_qxg0l")
offset = Vector2(0, -102)
@@ -41,7 +41,7 @@ target_portal = "right"
[node name="追猫猪头怪" parent="Ground/DeployLayer" index="2" instance=ExtResource("6_etqjj")]
position = Vector2(76, 85)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(64, 73)
character = "盒子猫"
facing_direction = Vector2(1, 0)
@@ -52,7 +52,7 @@ position = Vector2(-1, -15)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(125, 150, 660, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
blend_mode = 1
diff --git a/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn b/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn
index b0d16f2e..1c141b34 100644
--- a/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn
+++ b/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn
@@ -26,7 +26,7 @@ script = ExtResource("3_r8qm5")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_tmnwc")
offset = Vector2(0, -102)
@@ -53,7 +53,7 @@ global_method = "c02_cat_play_with_door"
[node name="追猫猪头怪" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_fjtlb")]
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(235, 73)
character = "盒子猫"
facing_direction = Vector2(1, 0)
@@ -64,7 +64,7 @@ position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 655, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
blend_mode = 1
diff --git a/scene/ground/scene/c02/s17_盒子猫三楼.tscn b/scene/ground/scene/c02/s17_盒子猫三楼.tscn
index 3fb8f440..3dbfd6a5 100644
--- a/scene/ground/scene/c02/s17_盒子猫三楼.tscn
+++ b/scene/ground/scene/c02/s17_盒子猫三楼.tscn
@@ -26,7 +26,7 @@ script = ExtResource("3_uua76")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_e436a")
offset = Vector2(0, -102)
@@ -56,7 +56,7 @@ global_method = "c02_cat_play_with_door"
[node name="追猫猪头怪" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_pfgbg")]
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(235, 73)
character = "盒子猫"
facing_direction = Vector2(1, 0)
@@ -65,12 +65,15 @@ facing_direction = Vector2(1, 0)
position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
-points = PackedVector2Array(37, 150, 860, 150)
+points = PackedVector2Array(26, 150, 868, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
blend_mode = 1
+[node name="UIPointLight2D" parent="Ground" index="10"]
+position = Vector2(7012, 0)
+
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("4_n3bxc")]
visible = false
diff --git a/scene/ground/scene/c02/s18_盒子猫一楼.tscn b/scene/ground/scene/c02/s18_盒子猫一楼.tscn
index 564ea03c..12e81622 100644
--- a/scene/ground/scene/c02/s18_盒子猫一楼.tscn
+++ b/scene/ground/scene/c02/s18_盒子猫一楼.tscn
@@ -25,7 +25,7 @@ script = ExtResource("3_4bsvj")
autoplay_group = &"c02_房间里1"
metadata/_custom_type_script = "uid://cpejxlfni6n52"
-[node name="BGSprite2D" parent="Ground" index="1"]
+[node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_owpnf")
offset = Vector2(0, -102)
@@ -70,7 +70,7 @@ global_method = "c02_cat_play_with_door"
[node name="追猫猪头怪" parent="Ground/DeployLayer" index="6" instance=ExtResource("6_xoyld")]
position = Vector2(-18, 74)
-[node name="MainPlayer" parent="Ground" index="4"]
+[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(235, 73)
character = "盒子猫"
facing_direction = Vector2(1, 0)
@@ -81,7 +81,7 @@ position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 860, 150)
-[node name="DirectionalLight2D" parent="Ground" index="7"]
+[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
blend_mode = 1
diff --git a/scene/index_page.gd b/scene/index_page.gd
index 7d1f9194..1974d814 100644
--- a/scene/index_page.gd
+++ b/scene/index_page.gd
@@ -2,14 +2,12 @@ extends Control
# var main_scene := preload("res://scene/main.tscn") as PackedScene
-@onready var animation_player = $AnimationPlayer as AnimationPlayer
@onready var animation_root = $AnimationRoot as Control
@onready var sfx_click = %SfxClick as Sfx
@onready var newgame_btn = %NewGame as Button
@onready var resume_btn = %Resume as Button
@onready var quit_btn = %Quit as Button
-
-var animation_finished = false
+@onready var mask = $Mask as ColorRect
func _ready():
@@ -19,18 +17,7 @@ func _ready():
resume_btn.pressed.connect(_on_resume_pressed)
quit_btn.pressed.connect(_on_quit_pressed)
_check_resume_btn()
- if SceneManager.first_entered:
- SceneManager.first_entered = false
- # 播放开始动画
- animation_player.play("intro")
- animation_player.animation_finished.connect(_on_intro_finished)
- else:
- animation_finished = true
-
-
-func _on_intro_finished(_a):
- animation_root.visible = false
- animation_finished = true
+ create_tween().tween_property(mask, "modulate:a", 0.0, 1.0)
func _check_resume_btn():
@@ -76,13 +63,4 @@ func _on_quit_pressed():
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("escape"):
get_viewport().set_input_as_handled()
- if not animation_finished:
- # 跳过开始动画
- animation_player.stop()
- animation_root.visible = false
- animation_finished = true
- else:
- SceneManager.show_settings()
-
-
-
+ SceneManager.show_settings()
diff --git a/scene/index_page.tscn b/scene/index_page.tscn
index ba29390b..a51a775c 100644
--- a/scene/index_page.tscn
+++ b/scene/index_page.tscn
@@ -1,20 +1,12 @@
-[gd_scene load_steps=13 format=3 uid="uid://c4ycvdsabi7lw"]
+[gd_scene load_steps=11 format=3 uid="uid://c4ycvdsabi7lw"]
[ext_resource type="Script" uid="uid://b4rw4hk7ns4m8" path="res://scene/index_page.gd" id="1_c7y7r"]
-[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index_menu/菜单背景1.png" id="1_jxn4k"]
+[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index/菜单背景.png" id="1_jxn4k"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_te6ya"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5oc6i"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="4_5oc6i"]
[ext_resource type="AudioStream" uid="uid://b3b4a6nm8557i" path="res://asset/audio/专用/衔蝶_主菜单music剪辑人声版.wav" id="5_5oc6i"]
-[sub_resource type="Animation" id="Animation_8kiap"]
-resource_name = "default"
-
-[sub_resource type="AnimationLibrary" id="AnimationLibrary_0d65a"]
-_data = {
-&"intro": SubResource("Animation_8kiap")
-}
-
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gu56a"]
content_margin_top = 4.0
content_margin_bottom = 4.0
@@ -52,11 +44,6 @@ grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_c7y7r")
-[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
-libraries = {
-&"": SubResource("AnimationLibrary_0d65a")
-}
-
[node name="AnimationRoot" type="Control" parent="."]
layout_mode = 1
anchors_preset = 15
@@ -150,3 +137,13 @@ theme_override_styles/hover = SubResource("StyleBoxFlat_q8n5c")
theme_override_styles/pressed = SubResource("StyleBoxFlat_scxsv")
theme_override_styles/normal = SubResource("StyleBoxEmpty_vyh3d")
text = "index_退出游戏"
+
+[node name="Mask" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+mouse_filter = 2
+color = Color(0, 0, 0, 1)
diff --git a/scene/little_game/弹珠游戏/弹珠游戏.gd b/scene/little_game/弹珠游戏/弹珠游戏.gd
index 3d616499..793ba720 100644
--- a/scene/little_game/弹珠游戏/弹珠游戏.gd
+++ b/scene/little_game/弹珠游戏/弹珠游戏.gd
@@ -24,14 +24,15 @@ var balls_scene_dict = {
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
- hand_pivot.modulate.a = 0
- # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
- if ArchiveManager.get_global_value(&"c02_ball_game_stage", 0) == 2:
- # checkout_round(2)
- checkout_round(0)
- else:
- intro()
- label.modulate.a = 0
+ # hand_pivot.modulate.a = 0
+ # # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
+ # if ArchiveManager.get_global_value(&"c02_ball_game_stage", 0) == 2:
+ # # checkout_round(2)
+ # checkout_round(0)
+ # else:
+ # intro()
+ # label.modulate.a = 0
+ game_win()
func intro():
@@ -244,6 +245,7 @@ func game_win() -> void:
# 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
ArchiveManager.set_global_entry(&"c02_ball_game_stage", 3)
%"Sfx结尾小孩跑".play()
+ SceneManager.get_camera_marker().shake_camera(10, 4, true)
# 弹珠雨
$BallsFalling.emitting = true
pivot.visible = false
diff --git a/scene/little_game/弹珠游戏/弹珠游戏.tscn b/scene/little_game/弹珠游戏/弹珠游戏.tscn
index ea04da38..6cd834ff 100644
--- a/scene/little_game/弹珠游戏/弹珠游戏.tscn
+++ b/scene/little_game/弹珠游戏/弹珠游戏.tscn
@@ -258,6 +258,7 @@ script = ExtResource("1_p2trd")
[node name="Sfx结尾小孩跑" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
+process_mode = 1
stream = ExtResource("2_aqxy0")
bus = &"game_sfx"
script = ExtResource("4_co06r")
@@ -306,18 +307,21 @@ libraries = {
}
[node name="SfxHit" type="AudioStreamPlayer" parent="."]
+process_mode = 1
stream = ExtResource("3_co06r")
bus = &"game_sfx"
script = ExtResource("4_co06r")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="SfxShoot" type="AudioStreamPlayer" parent="."]
+process_mode = 1
stream = SubResource("AudioStreamInteractive_aqxy0")
bus = &"game_sfx"
script = ExtResource("4_co06r")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="SfxDispatch" type="AudioStreamPlayer" parent="."]
+process_mode = 1
stream = ExtResource("6_ctokx")
bus = &"game_sfx"
script = ExtResource("4_co06r")
diff --git a/scene/little_game/拼凑信件.gd b/scene/little_game/拼凑信件.gd
index 5b34dafc..e2358a9a 100644
--- a/scene/little_game/拼凑信件.gd
+++ b/scene/little_game/拼凑信件.gd
@@ -138,6 +138,7 @@ func _post_success():
# var tween = create_tween()
# tween.tween_property(content_rect, "modulate:a", 1.0, 1.0)
var texture = preload("res://asset/art/prop/c01/院长的信.png")
+ $"Sfx展开信".play()
var inspector = SceneManager.get_inspector()
inspector.pop_standard_inspection(texture, null, tr("prop_院长的信_说明"), false, true)
SceneManager.enable_important_item("prop_院长的信")
diff --git a/scene/little_game/拼凑信件.tscn b/scene/little_game/拼凑信件.tscn
index e74fe97a..04ee2bd7 100644
--- a/scene/little_game/拼凑信件.tscn
+++ b/scene/little_game/拼凑信件.tscn
@@ -1,10 +1,11 @@
-[gd_scene load_steps=10 format=3 uid="uid://bp3tkos1ufjcl"]
+[gd_scene load_steps=11 format=3 uid="uid://bp3tkos1ufjcl"]
[ext_resource type="Script" uid="uid://b1t12jgy6whsc" path="res://scene/little_game/拼凑信件.gd" id="1_cifku"]
[ext_resource type="Texture2D" uid="uid://c2y4mpkygrmaf" path="res://asset/art/little_game/拼凑信件/桌面.png" id="2_0fxwt"]
[ext_resource type="AudioStream" uid="uid://cxs1p014bq3bn" path="res://asset/audio/sfx/交互/序章/04_书店内_旋转信纸.wav" id="3_eph5y"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_ifhby"]
[ext_resource type="Texture2D" uid="uid://oh4e48nxm4j6" path="res://asset/art/little_game/拼凑信件/信件碎片.png" id="3_mjf3s"]
+[ext_resource type="AudioStream" uid="uid://cniawn37n8888" path="res://asset/audio/sfx/交互/序章/04_书店内_递交报纸.wav" id="4_ifhby"]
[sub_resource type="AtlasTexture" id="AtlasTexture_4e0jv"]
atlas = ExtResource("3_mjf3s")
@@ -29,10 +30,19 @@ layer = 5
script = ExtResource("1_cifku")
[node name="SfxMove" type="AudioStreamPlayer" parent="."]
+process_mode = 1
stream = ExtResource("3_eph5y")
bus = &"game_sfx"
script = ExtResource("3_ifhby")
+[node name="Sfx展开信" type="AudioStreamPlayer" parent="."]
+process_mode = 1
+stream = ExtResource("4_ifhby")
+volume_db = -5.0
+bus = &"game_sfx"
+script = ExtResource("3_ifhby")
+metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
+
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
diff --git a/scene/trailer.gd b/scene/trailer.gd
new file mode 100644
index 00000000..c8b71daa
--- /dev/null
+++ b/scene/trailer.gd
@@ -0,0 +1,21 @@
+extends Control
+
+@onready var video_player = $VideoStreamPlayer
+@onready var mask = $"遮罩"
+@onready var earplug_notice = $"耳机提示"
+
+var packed_index_page := preload("res://scene/index_page.tscn")
+
+
+func _ready() -> void:
+ # video_player.play()
+ # await video_player.finished
+ mask.visible = true
+ earplug_notice.visible = true
+ earplug_notice.modulate.a = 0
+ var tween = create_tween()
+ tween.tween_property(earplug_notice, "modulate:a", 1.0, 1.0)
+ tween.tween_interval(3.0)
+ tween.tween_property(earplug_notice, "modulate:a", 0.0, 1.0)
+ await tween.finished
+ SceneManager.checkout_index_page(false)
diff --git a/scene/trailer.gd.uid b/scene/trailer.gd.uid
new file mode 100644
index 00000000..06d7de92
--- /dev/null
+++ b/scene/trailer.gd.uid
@@ -0,0 +1 @@
+uid://dbjwl8l8x1udp
diff --git a/scene/trailer.tscn b/scene/trailer.tscn
new file mode 100644
index 00000000..4d480664
--- /dev/null
+++ b/scene/trailer.tscn
@@ -0,0 +1,48 @@
+[gd_scene load_steps=4 format=3 uid="uid://bpjjq1wdqm7um"]
+
+[ext_resource type="VideoStream" uid="uid://bkbulg542mj6v" path="res://asset/audio/专用/包包丁片头_5899532.ogv" id="1_24316"]
+[ext_resource type="Script" uid="uid://dbjwl8l8x1udp" path="res://scene/trailer.gd" id="1_tess7"]
+[ext_resource type="Texture2D" uid="uid://c0r4spqoga3of" path="res://asset/art/ui/index/佩戴耳机提示.png" id="3_8aq0n"]
+
+[node name="Trailer" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_tess7")
+
+[node name="VideoStreamPlayer" type="VideoStreamPlayer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+stream = ExtResource("1_24316")
+volume_db = -8.0
+expand = true
+bus = &"game_sfx"
+
+[node name="遮罩" type="ColorRect" parent="."]
+visible = false
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 1)
+
+[node name="耳机提示" type="TextureRect" parent="."]
+visible = false
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("3_8aq0n")
+expand_mode = 1
+stretch_mode = 5
diff --git a/游戏启动图标.icns b/游戏启动图标.icns
new file mode 100644
index 00000000..236cdab2
Binary files /dev/null and b/游戏启动图标.icns differ
diff --git a/游戏启动图标.ico b/游戏启动图标.ico
new file mode 100644
index 00000000..4bccd1e7
Binary files /dev/null and b/游戏启动图标.ico differ
diff --git a/游戏启动图标.png b/游戏启动图标.png
new file mode 100644
index 00000000..5a1d9b58
Binary files /dev/null and b/游戏启动图标.png differ
diff --git a/游戏启动图标.png.import b/游戏启动图标.png.import
new file mode 100644
index 00000000..5c6abef1
--- /dev/null
+++ b/游戏启动图标.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cvq7pkjm223q3"
+path="res://.godot/imported/游戏启动图标.png-8e83451c3b5866d601cc8ae72deaac4b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://游戏启动图标.png"
+dest_files=["res://.godot/imported/游戏启动图标.png-8e83451c3b5866d601cc8ae72deaac4b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/游戏启动图标.svg b/游戏启动图标.svg
new file mode 100644
index 00000000..98fad82b
--- /dev/null
+++ b/游戏启动图标.svg
@@ -0,0 +1,44 @@
+
+
diff --git a/icon.svg.import b/游戏启动图标.svg.import
similarity index 70%
rename from icon.svg.import
rename to 游戏启动图标.svg.import
index d5473308..95446948 100644
--- a/icon.svg.import
+++ b/游戏启动图标.svg.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://do0djx5ovokjd"
-path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+uid="uid://dgllr7ej7rnuq"
+path="res://.godot/imported/游戏启动图标.svg-28e8ccee9d430b9ef157e10c0cbd125c.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://icon.svg"
-dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
+source_file="res://游戏启动图标.svg"
+dest_files=["res://.godot/imported/游戏启动图标.svg-28e8ccee9d430b9ef157e10c0cbd125c.ctex"]
[params]