细节优化
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="SpriteFrames" load_steps=105 format=3 uid="uid://3nas025c2c5u"]
|
[gd_resource type="SpriteFrames" load_steps=110 format=3 uid="uid://3nas025c2c5u"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dwhh5uck24og4" path="res://asset/art/gif/c02_杂项/听纸杯/0.png" id="1_jpxok"]
|
[ext_resource type="Texture2D" uid="uid://dwhh5uck24og4" path="res://asset/art/gif/c02_杂项/听纸杯/0.png" id="1_jpxok"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b7gqorave0ung" path="res://asset/art/gif/c02_杂项/f3/0.png" id="1_o3ytw"]
|
[ext_resource type="Texture2D" uid="uid://b7gqorave0ung" path="res://asset/art/gif/c02_杂项/f3/0.png" id="1_o3ytw"]
|
||||||
@ -101,6 +101,11 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dyp0q0a6lcswk" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/57.png" id="74_csbcu"]
|
[ext_resource type="Texture2D" uid="uid://dyp0q0a6lcswk" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/57.png" id="74_csbcu"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dsom0pwipi4gm" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/58.png" id="75_kdvnj"]
|
[ext_resource type="Texture2D" uid="uid://dsom0pwipi4gm" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/58.png" id="75_kdvnj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bdhj86py8gca7" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/59.png" id="76_0647m"]
|
[ext_resource type="Texture2D" uid="uid://bdhj86py8gca7" path="res://asset/art/gif/c02_杂项/小婵晃脚掉鞋/59.png" id="76_0647m"]
|
||||||
|
[ext_resource type="Texture2D" path="res://asset/art/gif/c02_杂项/火苗/0.png" id="87_tgdu0"]
|
||||||
|
[ext_resource type="Texture2D" path="res://asset/art/gif/c02_杂项/火苗/1.png" id="88_i5ln4"]
|
||||||
|
[ext_resource type="Texture2D" path="res://asset/art/gif/c02_杂项/火苗/2.png" id="89_eshku"]
|
||||||
|
[ext_resource type="Texture2D" path="res://asset/art/gif/c02_杂项/火苗/3.png" id="90_j06p0"]
|
||||||
|
[ext_resource type="Texture2D" path="res://asset/art/gif/c02_杂项/火苗/4.png" id="91_7cwcn"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cy4ewvsa44qn0" path="res://asset/art/gif/c02_杂项/瞎子谈话_一起/瞎子谈话z1.png" id="91_v5jul"]
|
[ext_resource type="Texture2D" uid="uid://cy4ewvsa44qn0" path="res://asset/art/gif/c02_杂项/瞎子谈话_一起/瞎子谈话z1.png" id="91_v5jul"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dv2leuis2bvgv" path="res://asset/art/gif/c02_杂项/瞎子谈话_一起/瞎子谈话z2.png" id="92_vajth"]
|
[ext_resource type="Texture2D" uid="uid://dv2leuis2bvgv" path="res://asset/art/gif/c02_杂项/瞎子谈话_一起/瞎子谈话z2.png" id="92_vajth"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cjth2u1ovlt2h" path="res://asset/art/scene/c02/s03_公寓一楼院子/血迹(肉铺门).png" id="94_vajth"]
|
[ext_resource type="Texture2D" uid="uid://cjth2u1ovlt2h" path="res://asset/art/scene/c02/s03_公寓一楼院子/血迹(肉铺门).png" id="94_vajth"]
|
||||||
@ -391,6 +396,26 @@ animations = [{
|
|||||||
"speed": 30.0
|
"speed": 30.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [{
|
"frames": [{
|
||||||
|
"duration": 3.0,
|
||||||
|
"texture": ExtResource("87_tgdu0")
|
||||||
|
}, {
|
||||||
|
"duration": 3.0,
|
||||||
|
"texture": ExtResource("88_i5ln4")
|
||||||
|
}, {
|
||||||
|
"duration": 3.0,
|
||||||
|
"texture": ExtResource("89_eshku")
|
||||||
|
}, {
|
||||||
|
"duration": 3.0,
|
||||||
|
"texture": ExtResource("90_j06p0")
|
||||||
|
}, {
|
||||||
|
"duration": 3.0,
|
||||||
|
"texture": ExtResource("91_7cwcn")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"火苗",
|
||||||
|
"speed": 30.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
"duration": 13.5,
|
"duration": 13.5,
|
||||||
"texture": ExtResource("31_t5bwu")
|
"texture": ExtResource("31_t5bwu")
|
||||||
}, {
|
}, {
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
14
asset/art/gif/c02_杂项/火苗.gif.import
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="gif.animated.texture.plugin"
|
||||||
|
type="SpriteFrames"
|
||||||
|
uid="uid://j5lpwxe8woew"
|
||||||
|
path="res://.godot/imported/火苗.gif-ebc4fd6c5cfbd8787f76553a6aeba514.tres"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/gif/c02_杂项/火苗.gif"
|
||||||
|
dest_files=["res://.godot/imported/火苗.gif-ebc4fd6c5cfbd8787f76553a6aeba514.tres"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
BIN
asset/art/gif/c02_杂项/火苗/0.png
Normal file
After Width: | Height: | Size: 198 B |
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://boo54bqwgrgqf"
|
uid="uid://bkfxnc8jc6ad"
|
||||||
path="res://.godot/imported/楼道刮海报特写.png-535ab5a759d3182a0e8dcdf51406d3f1.ctex"
|
path="res://.godot/imported/0.png-0cfd1d440c8e247ef356d19a308b6ed4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://asset/art/scene/c02/s02_大门过道/楼道刮海报特写.png"
|
source_file="res://asset/art/gif/c02_杂项/火苗/0.png"
|
||||||
dest_files=["res://.godot/imported/楼道刮海报特写.png-535ab5a759d3182a0e8dcdf51406d3f1.ctex"]
|
dest_files=["res://.godot/imported/0.png-0cfd1d440c8e247ef356d19a308b6ed4.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
BIN
asset/art/gif/c02_杂项/火苗/1.png
Normal file
After Width: | Height: | Size: 202 B |
34
asset/art/gif/c02_杂项/火苗/1.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dw1abmepuchpf"
|
||||||
|
path="res://.godot/imported/1.png-c874caac3ee7500c9be30269fa149065.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/gif/c02_杂项/火苗/1.png"
|
||||||
|
dest_files=["res://.godot/imported/1.png-c874caac3ee7500c9be30269fa149065.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
|
BIN
asset/art/gif/c02_杂项/火苗/2.png
Normal file
After Width: | Height: | Size: 202 B |
34
asset/art/gif/c02_杂项/火苗/2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ixgcovre8mwg"
|
||||||
|
path="res://.godot/imported/2.png-882de7bd3bcd386150d7043288f8cbc4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/gif/c02_杂项/火苗/2.png"
|
||||||
|
dest_files=["res://.godot/imported/2.png-882de7bd3bcd386150d7043288f8cbc4.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
|
BIN
asset/art/gif/c02_杂项/火苗/3.png
Normal file
After Width: | Height: | Size: 210 B |
34
asset/art/gif/c02_杂项/火苗/3.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://kmh5o86bl4nv"
|
||||||
|
path="res://.godot/imported/3.png-87bed99b66d0c2b1eb0a3a4a275b2608.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/gif/c02_杂项/火苗/3.png"
|
||||||
|
dest_files=["res://.godot/imported/3.png-87bed99b66d0c2b1eb0a3a4a275b2608.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
|
BIN
asset/art/gif/c02_杂项/火苗/4.png
Normal file
After Width: | Height: | Size: 200 B |
34
asset/art/gif/c02_杂项/火苗/4.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c4ktgdyxw72g8"
|
||||||
|
path="res://.godot/imported/4.png-c1196611e8733e042a5fc5cf449139a5.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/gif/c02_杂项/火苗/4.png"
|
||||||
|
dest_files=["res://.godot/imported/4.png-c1196611e8733e042a5fc5cf449139a5.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
|
BIN
asset/art/scene/c02/s02_大门过道/ux_过道面板.png
Normal file
After Width: | Height: | Size: 137 KiB |
34
asset/art/scene/c02/s02_大门过道/ux_过道面板.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://du1gfsc8mp0q0"
|
||||||
|
path="res://.godot/imported/ux_过道面板.png-96c350c07c8768e8d63c011ae3c063d5.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/scene/c02/s02_大门过道/ux_过道面板.png"
|
||||||
|
dest_files=["res://.godot/imported/ux_过道面板.png-96c350c07c8768e8d63c011ae3c063d5.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
|
Before Width: | Height: | Size: 127 KiB |
@ -1,14 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="gif.animated.texture.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
uid="uid://j5lpwxe8woew"
|
|
||||||
path="res://.godot/imported/火苗.gif-c3855063107f526b644bdc81d71b4744.tres"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://asset/art/scene/c02/s02_大门过道/火苗.gif"
|
|
||||||
dest_files=["res://.godot/imported/火苗.gif-c3855063107f526b644bdc81d71b4744.tres"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
BIN
asset/art/scene/c02/s07_二楼内侧楼道/ux_二楼过道内侧.png
Normal file
After Width: | Height: | Size: 160 KiB |
34
asset/art/scene/c02/s07_二楼内侧楼道/ux_二楼过道内侧.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ca5tpfxmeh5q8"
|
||||||
|
path="res://.godot/imported/ux_二楼过道内侧.png-a70db011ea01fb2f9ac7d7cceb64f44d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://asset/art/scene/c02/s07_二楼内侧楼道/ux_二楼过道内侧.png"
|
||||||
|
dest_files=["res://.godot/imported/ux_二楼过道内侧.png-a70db011ea01fb2f9ac7d7cceb64f44d.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
|
Before Width: | Height: | Size: 403 B After Width: | Height: | Size: 325 B |
@ -6,8 +6,8 @@ c02_11肉铺敲门_3,不做生意赶紧滚!,???,,
|
|||||||
摔倒了、哭⿐头、⼩脚上面出血了 [ID:],摔倒了、哭⿐头、⼩脚上面出血了 [ID:],,,
|
摔倒了、哭⿐头、⼩脚上面出血了 [ID:],摔倒了、哭⿐头、⼩脚上面出血了 [ID:],,,
|
||||||
哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],,,
|
哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],哭⿐头、哭⿐头~⼩脚⼩孩哭⿐头... [ID:],,,
|
||||||
c02_纸人互动_离开公寓1,你要离开公寓吗?,,,
|
c02_纸人互动_离开公寓1,你要离开公寓吗?,,,
|
||||||
c02_纸人互动_离开公寓2,我现在要离开公寓,(response),,
|
c02_纸人互动_离开公寓2,离开,(response),,
|
||||||
c02_纸人互动_离开公寓3,我想留下再看看...,(response),,
|
c02_纸人互动_离开公寓3,留下,(response),,
|
||||||
c02_6偷听对话_李氏_1_fx,真的假的?你钻进去啦,你这个体型进得去哒?,李兰,,
|
c02_6偷听对话_李氏_1_fx,真的假的?你钻进去啦,你这个体型进得去哒?,李兰,,
|
||||||
c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,王守义,,
|
c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,王守义,,
|
||||||
c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,李兰,,
|
c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,李兰,,
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
~ c02_纸人互动_离开公寓
|
~ c02_纸人互动_离开公寓
|
||||||
你要离开公寓吗? [ID:c02_纸人互动_离开公寓1]
|
你要离开公寓吗? [ID:c02_纸人互动_离开公寓1]
|
||||||
- 我现在要离开公寓 [ID:c02_纸人互动_离开公寓2]
|
- 离开 [ID:c02_纸人互动_离开公寓2]
|
||||||
do SceneManager.checkout_index_page()
|
do SceneManager.checkout_index_page()
|
||||||
- 我想留下再看看... [ID:c02_纸人互动_离开公寓3]
|
- 留下 [ID:c02_纸人互动_离开公寓3]
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
~ c02_04_李氏癞子
|
~ c02_04_李氏癞子
|
||||||
|
@ -22,8 +22,10 @@ ui_saved_all,已保存所有数据,,,,,All the data have been saved
|
|||||||
ui_new_archive,已创建新存档,,,,,A new archive has been created
|
ui_new_archive,已创建新存档,,,,,A new archive has been created
|
||||||
ui_auto_saved,自动保存成功,,,,,Auto save successful
|
ui_auto_saved,自动保存成功,,,,,Auto save successful
|
||||||
ui_press_e,按 E 与场景互动,,,,,Press E to interact
|
ui_press_e,按 E 与场景互动,,,,,Press E to interact
|
||||||
|
ui_press_q_to_exit,按 Q 可退出,,,,,
|
||||||
ui_use_prop,按 E 使用道具,,,,,Press E to use prop
|
ui_use_prop,按 E 使用道具,,,,,Press E to use prop
|
||||||
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
|
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
|
||||||
|
ui_switch_prop,点击图标可切换道具(或按 Z/C),,,,,
|
||||||
ui_press_shift,按住 Shift 奔跑,,,,,
|
ui_press_shift,按住 Shift 奔跑,,,,,
|
||||||
input_拼凑信件,点击选择信件碎片,方向键移动,按 E 旋转,,,,,
|
input_拼凑信件,点击选择信件碎片,方向键移动,按 E 旋转,,,,,
|
||||||
ui_获得,获得,,,,,
|
ui_获得,获得,,,,,
|
||||||
@ -38,10 +40,11 @@ ui_夜行船4,今日春来,明朝花谢。,,,,,
|
|||||||
ui_夜行船5,急罚盏夜阑灯灭。,,,,,
|
ui_夜行船5,急罚盏夜阑灯灭。,,,,,
|
||||||
ui_夜行船6,夜行船,,,,,
|
ui_夜行船6,夜行船,,,,,
|
||||||
prop_空手,空手,,,,,
|
prop_空手,空手,,,,,
|
||||||
|
prop_空手_说明,空空如也,,,,,
|
||||||
prop_信碎片1,信碎片(一),,,[#texture=c01/信件左上.png],,
|
prop_信碎片1,信碎片(一),,,[#texture=c01/信件左上.png],,
|
||||||
prop_信碎片1_说明,浦育院院长秦阳,民国21年,11月20日,,,,,
|
prop_信碎片1_说明,浦育院院长秦阳,民国21年,11月20日,,,,,
|
||||||
prop_信碎片2,信碎片(二),,,[#texture=c01/信件右上.png],,
|
prop_信碎片2,信碎片(二),,,[#texture=c01/信件右上.png],,
|
||||||
prop_信碎片2_说明,信碎片(二)说明,,,,,
|
prop_信碎片2_说明,...,,,,,
|
||||||
prop_银元,银元,,,[#texture=c01/银元.png],,
|
prop_银元,银元,,,[#texture=c01/银元.png],,
|
||||||
prop_银元_说明,一枚“袁大头”银元,中華民國十年造。,,,,,
|
prop_银元_说明,一枚“袁大头”银元,中華民國十年造。,,,,,
|
||||||
prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,
|
prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,
|
||||||
|
|
@ -21,8 +21,10 @@
|
|||||||
自动保存成功 [ID:ui_auto_saved]
|
自动保存成功 [ID:ui_auto_saved]
|
||||||
|
|
||||||
按 E 与场景互动 [ID:ui_press_e]
|
按 E 与场景互动 [ID:ui_press_e]
|
||||||
|
按 Q 可退出 [ID:ui_press_q_to_exit]
|
||||||
按 E 使用道具 [ID:ui_use_prop]
|
按 E 使用道具 [ID:ui_use_prop]
|
||||||
重要物品已更新(按 B 打开背包) [ID:ui_important_item_update]
|
重要物品已更新(按 B 打开背包) [ID:ui_important_item_update]
|
||||||
|
点击图标可切换道具(或按 Z/C) [ID:ui_switch_prop]
|
||||||
按住 Shift 奔跑 [ID:ui_press_shift]
|
按住 Shift 奔跑 [ID:ui_press_shift]
|
||||||
点击选择信件碎片,方向键移动,按 E 旋转 [ID:input_拼凑信件]
|
点击选择信件碎片,方向键移动,按 E 旋转 [ID:input_拼凑信件]
|
||||||
|
|
||||||
@ -50,7 +52,7 @@
|
|||||||
信碎片(一) [#texture=c01/信件左上.png] [ID:prop_信碎片1]
|
信碎片(一) [#texture=c01/信件左上.png] [ID:prop_信碎片1]
|
||||||
浦育院院长秦阳,民国21年,11月20日 [ID:prop_信碎片1_说明]
|
浦育院院长秦阳,民国21年,11月20日 [ID:prop_信碎片1_说明]
|
||||||
信碎片(二) [#texture=c01/信件右上.png] [ID:prop_信碎片2]
|
信碎片(二) [#texture=c01/信件右上.png] [ID:prop_信碎片2]
|
||||||
[ID:prop_信碎片2_说明]
|
... [ID:prop_信碎片2_说明]
|
||||||
银元 [#texture=c01/银元.png] [ID:prop_银元]
|
银元 [#texture=c01/银元.png] [ID:prop_银元]
|
||||||
一枚“袁大头”银元,中華民國十年造。 [ID:prop_银元_说明]
|
一枚“袁大头”银元,中華民國十年造。 [ID:prop_银元_说明]
|
||||||
|
|
||||||
|
@ -5,17 +5,17 @@
|
|||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_o674m"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_o674m"]
|
||||||
texture = ExtResource("2_iui7n")
|
texture = ExtResource("2_iui7n")
|
||||||
texture_margin_left = 8.0
|
texture_margin_left = 5.0
|
||||||
texture_margin_top = 8.0
|
texture_margin_top = 5.0
|
||||||
texture_margin_right = 8.0
|
texture_margin_right = 5.0
|
||||||
texture_margin_bottom = 8.0
|
texture_margin_bottom = 5.0
|
||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pndlu"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pndlu"]
|
||||||
texture = ExtResource("2_iui7n")
|
texture = ExtResource("2_iui7n")
|
||||||
texture_margin_left = 8.0
|
texture_margin_left = 5.0
|
||||||
texture_margin_top = 8.0
|
texture_margin_top = 5.0
|
||||||
texture_margin_right = 8.0
|
texture_margin_right = 5.0
|
||||||
texture_margin_bottom = 8.0
|
texture_margin_bottom = 5.0
|
||||||
expand_margin_left = 2.0
|
expand_margin_left = 2.0
|
||||||
expand_margin_top = 2.0
|
expand_margin_top = 2.0
|
||||||
expand_margin_right = 2.0
|
expand_margin_right = 2.0
|
||||||
@ -23,31 +23,32 @@ expand_margin_bottom = 2.0
|
|||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8kglp"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8kglp"]
|
||||||
texture = ExtResource("2_iui7n")
|
texture = ExtResource("2_iui7n")
|
||||||
texture_margin_left = 8.0
|
texture_margin_left = 5.0
|
||||||
texture_margin_top = 8.0
|
texture_margin_top = 5.0
|
||||||
texture_margin_right = 8.0
|
texture_margin_right = 5.0
|
||||||
texture_margin_bottom = 8.0
|
texture_margin_bottom = 5.0
|
||||||
modulate_color = Color(0.888425, 0.888425, 0.888425, 1)
|
modulate_color = Color(0.888425, 0.888425, 0.888425, 1)
|
||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_fhhiq"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_fhhiq"]
|
||||||
texture = ExtResource("2_iui7n")
|
texture = ExtResource("2_iui7n")
|
||||||
texture_margin_left = 8.0
|
texture_margin_left = 5.0
|
||||||
texture_margin_top = 8.0
|
texture_margin_top = 5.0
|
||||||
texture_margin_right = 8.0
|
texture_margin_right = 5.0
|
||||||
texture_margin_bottom = 8.0
|
texture_margin_bottom = 5.0
|
||||||
modulate_color = Color(0.599199, 0.599199, 0.599199, 1)
|
modulate_color = Color(0.599199, 0.599199, 0.599199, 1)
|
||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6ojpb"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6ojpb"]
|
||||||
texture = ExtResource("2_iui7n")
|
texture = ExtResource("2_iui7n")
|
||||||
texture_margin_left = 8.0
|
texture_margin_left = 5.0
|
||||||
texture_margin_top = 8.0
|
texture_margin_top = 5.0
|
||||||
texture_margin_right = 8.0
|
texture_margin_right = 5.0
|
||||||
texture_margin_bottom = 8.0
|
texture_margin_bottom = 5.0
|
||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jydvi"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jydvi"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
default_font_size = 12
|
default_font = ExtResource("1_iui7n")
|
||||||
|
default_font_size = 9
|
||||||
Button/font_sizes/font_size = 9
|
Button/font_sizes/font_size = 9
|
||||||
Button/fonts/font = ExtResource("1_iui7n")
|
Button/fonts/font = ExtResource("1_iui7n")
|
||||||
Button/styles/disabled = SubResource("StyleBoxTexture_o674m")
|
Button/styles/disabled = SubResource("StyleBoxTexture_o674m")
|
||||||
|
@ -296,9 +296,9 @@ func checkout_index_page(transition := true):
|
|||||||
func _jump_back_to_index_and_quit_main():
|
func _jump_back_to_index_and_quit_main():
|
||||||
var packed_index_page := preload("res://scene/index_page.tscn")
|
var packed_index_page := preload("res://scene/index_page.tscn")
|
||||||
get_tree().change_scene_to_packed.call_deferred(packed_index_page)
|
get_tree().change_scene_to_packed.call_deferred(packed_index_page)
|
||||||
var main = get_node_or_null("/root/Main")
|
# var main = get_node_or_null("/root/Main")
|
||||||
if main:
|
# if main:
|
||||||
main.queue_free()
|
# main.queue_free()
|
||||||
|
|
||||||
|
|
||||||
var prop_bag = preload("res://scene/prop/prop_bag.tscn")
|
var prop_bag = preload("res://scene/prop/prop_bag.tscn")
|
||||||
|
@ -184,12 +184,17 @@ func apply_dialogue_line() -> void:
|
|||||||
|
|
||||||
# Wait for input
|
# Wait for input
|
||||||
if dialogue_line.responses.size() > 0:
|
if dialogue_line.responses.size() > 0:
|
||||||
|
# 有 response 时标题字体大小调大
|
||||||
|
dialogue_label.set("theme_override_font_sizes/normal_font_size", 11.0)
|
||||||
|
# 设置为橙色
|
||||||
|
dialogue_label.text = "[color=orange]" + dialogue_label.text + "[/color]"
|
||||||
balloon.focus_mode = Control.FOCUS_NONE
|
balloon.focus_mode = Control.FOCUS_NONE
|
||||||
responses_menu.show()
|
responses_menu.show()
|
||||||
is_waiting_for_input = true
|
is_waiting_for_input = true
|
||||||
balloon.focus_mode = Control.FOCUS_ALL
|
balloon.focus_mode = Control.FOCUS_ALL
|
||||||
balloon.grab_focus()
|
balloon.grab_focus()
|
||||||
return
|
return
|
||||||
|
dialogue_label.set("theme_override_font_sizes/normal_font_size", null)
|
||||||
|
|
||||||
is_waiting_for_input = true
|
is_waiting_for_input = true
|
||||||
balloon.focus_mode = Control.FOCUS_ALL
|
balloon.focus_mode = Control.FOCUS_ALL
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://cb4s8y1y600og"]
|
[gd_scene load_steps=5 format=3 uid="uid://cb4s8y1y600og"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://814s3vawnw0e" path="res://scene/dialog/balloon.gd" id="1_36de5"]
|
[ext_resource type="Script" uid="uid://814s3vawnw0e" path="res://scene/dialog/balloon.gd" id="1_36de5"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_a8ve6"]
|
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_a8ve6"]
|
||||||
[ext_resource type="Theme" uid="uid://dlrwa60futc45" path="res://config/balloon_theme.tres" id="2_b3fpn"]
|
[ext_resource type="Theme" uid="uid://dlrwa60futc45" path="res://config/balloon_theme.tres" id="2_b3fpn"]
|
||||||
[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="3_72ixx"]
|
[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="3_72ixx"]
|
||||||
[ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="3_b3fpn"]
|
|
||||||
|
|
||||||
[node name="Balloon" type="CanvasLayer"]
|
[node name="Balloon" type="CanvasLayer"]
|
||||||
layer = 12
|
layer = 12
|
||||||
@ -58,8 +57,6 @@ mouse_filter = 2
|
|||||||
theme_override_colors/font_shadow_color = Color(0.305882, 0.305882, 0.305882, 0.388235)
|
theme_override_colors/font_shadow_color = Color(0.305882, 0.305882, 0.305882, 0.388235)
|
||||||
theme_override_constants/shadow_offset_y = 1
|
theme_override_constants/shadow_offset_y = 1
|
||||||
theme_override_constants/shadow_offset_x = 1
|
theme_override_constants/shadow_offset_x = 1
|
||||||
theme_override_fonts/normal_font = ExtResource("3_b3fpn")
|
|
||||||
theme_override_font_sizes/normal_font_size = 9
|
|
||||||
bbcode_enabled = true
|
bbcode_enabled = true
|
||||||
text = "Charagcter"
|
text = "Charagcter"
|
||||||
fit_content = true
|
fit_content = true
|
||||||
@ -75,8 +72,6 @@ size_flags_vertical = 0
|
|||||||
theme_override_colors/font_shadow_color = Color(0.306923, 0.306923, 0.306923, 0.388235)
|
theme_override_colors/font_shadow_color = Color(0.306923, 0.306923, 0.306923, 0.388235)
|
||||||
theme_override_constants/shadow_offset_y = 1
|
theme_override_constants/shadow_offset_y = 1
|
||||||
theme_override_constants/shadow_offset_x = 1
|
theme_override_constants/shadow_offset_x = 1
|
||||||
theme_override_fonts/normal_font = ExtResource("3_b3fpn")
|
|
||||||
theme_override_font_sizes/normal_font_size = 9
|
|
||||||
text = "Dialogue..."
|
text = "Dialogue..."
|
||||||
autowrap_mode = 0
|
autowrap_mode = 0
|
||||||
seconds_per_step = 0.005
|
seconds_per_step = 0.005
|
||||||
@ -86,7 +81,7 @@ seconds_per_pause_step = 0.1
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
theme_override_constants/margin_left = 0
|
theme_override_constants/margin_left = 0
|
||||||
theme_override_constants/margin_top = -4
|
theme_override_constants/margin_top = -2
|
||||||
theme_override_constants/margin_right = 0
|
theme_override_constants/margin_right = 0
|
||||||
theme_override_constants/margin_bottom = 6
|
theme_override_constants/margin_bottom = 6
|
||||||
|
|
||||||
@ -94,7 +89,7 @@ theme_override_constants/margin_bottom = 6
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 8
|
size_flags_vertical = 8
|
||||||
theme_override_constants/separation = 4
|
theme_override_constants/separation = 8
|
||||||
alignment = 1
|
alignment = 1
|
||||||
script = ExtResource("3_72ixx")
|
script = ExtResource("3_72ixx")
|
||||||
response_template = NodePath("ResponseExample")
|
response_template = NodePath("ResponseExample")
|
||||||
@ -103,13 +98,11 @@ response_template = NodePath("ResponseExample")
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
mouse_filter = 1
|
mouse_filter = 1
|
||||||
theme_override_fonts/font = ExtResource("3_b3fpn")
|
|
||||||
text = "Response example"
|
text = "Response example"
|
||||||
|
|
||||||
[node name="ResponseExample2" type="Button" parent="Balloon/VBoxContainer/Responses/ResponsesMenu"]
|
[node name="ResponseExample2" type="Button" parent="Balloon/VBoxContainer/Responses/ResponsesMenu"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
mouse_filter = 1
|
mouse_filter = 1
|
||||||
theme_override_fonts/font = ExtResource("3_b3fpn")
|
|
||||||
text = "Response example"
|
text = "Response example"
|
||||||
|
|
||||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
@ -23,7 +23,9 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func _close_up_interacted() -> void:
|
func _close_up_interacted() -> void:
|
||||||
if interacted_times == 1 and first_interact_os_key:
|
if interacted_times == 1 and first_interact_os_key:
|
||||||
SceneManager.pop_os_with_str(first_interact_os_key)
|
var tween = await SceneManager.pop_os_with_str(first_interact_os_key)
|
||||||
|
tween.tween_interval(0.5)
|
||||||
|
tween.tween_callback(display)
|
||||||
else:
|
else:
|
||||||
display()
|
display()
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ class_name Interactable2D extends Sprite2D
|
|||||||
# interacted_times 增加后,再发出信号
|
# interacted_times 增加后,再发出信号
|
||||||
signal interacted
|
signal interacted
|
||||||
signal interacted_with_key(key)
|
signal interacted_with_key(key)
|
||||||
|
# 交互 prop 不匹配
|
||||||
|
signal interact_mismatch_failed
|
||||||
|
|
||||||
signal sign_mark_offset_updated
|
signal sign_mark_offset_updated
|
||||||
|
|
||||||
@ -133,6 +135,7 @@ func _on_interacted() -> void:
|
|||||||
sign_mark.invalid_shake(matched_sign_texture, unmatched_sign_texture)
|
sign_mark.invalid_shake(matched_sign_texture, unmatched_sign_texture)
|
||||||
# SceneManager.on_toggle_invalid_prop()
|
# SceneManager.on_toggle_invalid_prop()
|
||||||
interact_mutex.unlock()
|
interact_mutex.unlock()
|
||||||
|
interact_mismatch_failed.emit()
|
||||||
return
|
return
|
||||||
if not mute_when_interacted:
|
if not mute_when_interacted:
|
||||||
sfx_success.play()
|
sfx_success.play()
|
||||||
|
@ -794,6 +794,8 @@ frame = 9
|
|||||||
position = Vector2(414, 51)
|
position = Vector2(414, 51)
|
||||||
texture = ExtResource("8_mnduo")
|
texture = ExtResource("8_mnduo")
|
||||||
sign_mark_offset = Vector2(0.95, -1.35)
|
sign_mark_offset = Vector2(0.95, -1.35)
|
||||||
|
mute_when_interacted = true
|
||||||
|
mute_when_invalid = true
|
||||||
one_shot = false
|
one_shot = false
|
||||||
|
|
||||||
[node name="PointLight墙" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
[node name="PointLight墙" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
||||||
|
@ -92,7 +92,7 @@ bus = &"game_sfx"
|
|||||||
script = ExtResource("4_p6k3c")
|
script = ExtResource("4_p6k3c")
|
||||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||||
|
|
||||||
[node name="BGSprite2D" parent="Ground" index="2"]
|
[node name="BGSprite2D" parent="Ground" index="1"]
|
||||||
material = SubResource("ShaderMaterial_ddd5v")
|
material = SubResource("ShaderMaterial_ddd5v")
|
||||||
texture = ExtResource("3_322m4")
|
texture = ExtResource("3_322m4")
|
||||||
offset = Vector2(0, -158)
|
offset = Vector2(0, -158)
|
||||||
@ -182,7 +182,7 @@ energy = 0.4
|
|||||||
texture = ExtResource("9_i4dqp")
|
texture = ExtResource("9_i4dqp")
|
||||||
offset = Vector2(317, 0)
|
offset = Vector2(317, 0)
|
||||||
|
|
||||||
[node name="MainPlayer" parent="Ground" index="5"]
|
[node name="MainPlayer" parent="Ground" index="4"]
|
||||||
position = Vector2(437, 98)
|
position = Vector2(437, 98)
|
||||||
character = "小小蝶"
|
character = "小小蝶"
|
||||||
|
|
||||||
@ -194,7 +194,7 @@ offset = Vector2(0, 40)
|
|||||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||||
points = PackedVector2Array(30, 150, 545, 150)
|
points = PackedVector2Array(30, 150, 545, 150)
|
||||||
|
|
||||||
[node name="DirectionalLight2D" parent="Ground" index="9"]
|
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||||
energy = 0.0
|
energy = 0.0
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
|
|
||||||
|
@ -32,8 +32,12 @@ func _on_ground_ready() -> void:
|
|||||||
_display_paper_man(false)
|
_display_paper_man(false)
|
||||||
else:
|
else:
|
||||||
paper_man.get_node("wall/CollisionShape2D").disabled = true
|
paper_man.get_node("wall/CollisionShape2D").disabled = true
|
||||||
paper_man.enabled = false
|
# paper_man.enabled = false
|
||||||
paper_man.visible = false
|
paper_man.visible = false
|
||||||
|
|
||||||
|
$"../DeployLayer/InteractableLeftPortal".interacted.connect(_on_try_exit)
|
||||||
|
|
||||||
|
|
||||||
flyer = $"../DeployLayer/Closeup刮海报"
|
flyer = $"../DeployLayer/Closeup刮海报"
|
||||||
if data.flyer_shaven:
|
if data.flyer_shaven:
|
||||||
flyer.enabled = false
|
flyer.enabled = false
|
||||||
@ -97,19 +101,19 @@ func _on_music_box_exited(_arg):
|
|||||||
|
|
||||||
func _display_paper_man(play_sfx := true):
|
func _display_paper_man(play_sfx := true):
|
||||||
paper_man.visible = true
|
paper_man.visible = true
|
||||||
paper_man.enabled = true
|
# 不启用
|
||||||
|
# paper_man.enabled = true
|
||||||
if play_sfx:
|
if play_sfx:
|
||||||
paper_man.get_node("Sfx").play()
|
paper_man.get_node("Sfx").play()
|
||||||
paper_man.get_node("wall/CollisionShape2D").disabled = false
|
paper_man.get_node("wall/CollisionShape2D").disabled = false
|
||||||
|
|
||||||
func paper_man_interacted():
|
func _on_try_exit():
|
||||||
SceneManager.freeze_player(0)
|
SceneManager.freeze_player(0)
|
||||||
# 退出公寓?
|
# 退出公寓?
|
||||||
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_纸人互动_离开公寓")
|
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_纸人互动_离开公寓")
|
||||||
await DialogueManager.dialogue_ended
|
await DialogueManager.dialogue_ended
|
||||||
SceneManager.release_player()
|
SceneManager.release_player()
|
||||||
|
|
||||||
|
|
||||||
func display_music_box():
|
func display_music_box():
|
||||||
# 展示八音盒
|
# 展示八音盒
|
||||||
music_box.visible = true
|
music_box.visible = true
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
[gd_scene load_steps=27 format=3 uid="uid://brck77w81fhvc"]
|
[gd_scene load_steps=28 format=3 uid="uid://brck77w81fhvc"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_wrr6r"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_wrr6r"]
|
||||||
[ext_resource type="Script" uid="uid://bfrgnmde3hjn0" path="res://scene/ground/scene/c02/s02_animation.gd" id="2_5p8ev"]
|
[ext_resource type="Script" uid="uid://bfrgnmde3hjn0" path="res://scene/ground/scene/c02/s02_animation.gd" id="2_5p8ev"]
|
||||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="3_fy0o1"]
|
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="3_fy0o1"]
|
||||||
[ext_resource type="Texture2D" uid="uid://5428j51dwarc" path="res://asset/art/scene/c02/s02_大门过道/bg_过道背景.png" id="3_gjwum"]
|
[ext_resource type="Texture2D" uid="uid://5428j51dwarc" path="res://asset/art/scene/c02/s02_大门过道/bg_过道背景.png" id="3_gjwum"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="4_wbif8"]
|
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="4_wbif8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://r0n7qy4kr3w2" path="res://asset/art/ui/action_mark/UI场景切换.png" id="5_m1xet"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ceijv5l0prppa" path="res://asset/art/prop/c02/海报(小)/除鼠双杰.png" id="6_gjwum"]
|
[ext_resource type="Texture2D" uid="uid://ceijv5l0prppa" path="res://asset/art/prop/c02/海报(小)/除鼠双杰.png" id="6_gjwum"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b8pcnqvdddo5g" path="res://asset/art/prop/c02/海报特写/除鼠二杰.png" id="7_jg8g0"]
|
[ext_resource type="Texture2D" uid="uid://b8pcnqvdddo5g" path="res://asset/art/prop/c02/海报特写/除鼠二杰.png" id="7_jg8g0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cvgw2mxrlr6io" path="res://asset/art/scene/c02/旧版/s02_走道/ux_进门鼠疫海报yz.png" id="7_wdwbi"]
|
[ext_resource type="Texture2D" uid="uid://cvgw2mxrlr6io" path="res://asset/art/scene/c02/旧版/s02_走道/ux_进门鼠疫海报yz.png" id="7_wdwbi"]
|
||||||
@ -68,7 +69,8 @@ texture = ExtResource("3_gjwum")
|
|||||||
offset = Vector2(0, -240)
|
offset = Vector2(0, -240)
|
||||||
|
|
||||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||||
position = Vector2(28, 21)
|
position = Vector2(-25, 24)
|
||||||
|
enabled = false
|
||||||
target_scene = "c02_s01"
|
target_scene = "c02_s01"
|
||||||
target_portal = "right"
|
target_portal = "right"
|
||||||
matched_sign_texture = null
|
matched_sign_texture = null
|
||||||
@ -79,7 +81,13 @@ target_scene = "c02_s03"
|
|||||||
target_portal = "left"
|
target_portal = "left"
|
||||||
matched_sign_texture = null
|
matched_sign_texture = null
|
||||||
|
|
||||||
[node name="WindBlows" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"]
|
[node name="InteractableLeftPortal" parent="Ground/DeployLayer" index="2" instance=ExtResource("13_ck13g")]
|
||||||
|
position = Vector2(28, -24)
|
||||||
|
unrevealed_sign_texture = ExtResource("5_m1xet")
|
||||||
|
matched_sign_texture = ExtResource("5_m1xet")
|
||||||
|
one_shot = false
|
||||||
|
|
||||||
|
[node name="WindBlows" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="3"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(394, 23)
|
position = Vector2(394, 23)
|
||||||
sprite_frames = ExtResource("4_wbif8")
|
sprite_frames = ExtResource("4_wbif8")
|
||||||
@ -87,11 +95,11 @@ animation = &"c02_吕萍_风吹过"
|
|||||||
frame = 10
|
frame = 10
|
||||||
frame_progress = 1.0
|
frame_progress = 1.0
|
||||||
|
|
||||||
[node name="Ambush太暗了" parent="Ground/DeployLayer" index="3" instance=ExtResource("8_52as8")]
|
[node name="Ambush太暗了" parent="Ground/DeployLayer" index="4" instance=ExtResource("8_52as8")]
|
||||||
position = Vector2(177, 42)
|
position = Vector2(177, 42)
|
||||||
hook_os_key = "c02_太暗了"
|
hook_os_key = "c02_太暗了"
|
||||||
|
|
||||||
[node name="海报1" parent="Ground/DeployLayer" index="4" instance=ExtResource("12_0fckv")]
|
[node name="海报1" parent="Ground/DeployLayer" index="5" instance=ExtResource("12_0fckv")]
|
||||||
position = Vector2(211, -33)
|
position = Vector2(211, -33)
|
||||||
texture = ExtResource("6_gjwum")
|
texture = ExtResource("6_gjwum")
|
||||||
sign_mark_offset = Vector2(-1.58, 8.6)
|
sign_mark_offset = Vector2(-1.58, 8.6)
|
||||||
@ -99,18 +107,18 @@ content_centered = true
|
|||||||
texture_cover = ExtResource("7_jg8g0")
|
texture_cover = ExtResource("7_jg8g0")
|
||||||
content_key = "c02_海报1"
|
content_key = "c02_海报1"
|
||||||
|
|
||||||
[node name="Closeup刮海报" parent="Ground/DeployLayer" index="5" instance=ExtResource("19_6wwyd")]
|
[node name="Closeup刮海报" parent="Ground/DeployLayer" index="6" instance=ExtResource("19_6wwyd")]
|
||||||
position = Vector2(252, -27)
|
position = Vector2(252, -27)
|
||||||
texture = ExtResource("10_jg8g0")
|
texture = ExtResource("10_jg8g0")
|
||||||
first_interact_os_key = "c02_海报_剪辫子侦探"
|
first_interact_os_key = "c02_海报_剪辫子侦探"
|
||||||
packed_scene = ExtResource("11_jg8g0")
|
packed_scene = ExtResource("11_jg8g0")
|
||||||
|
|
||||||
[node name="鼠疫海报" parent="Ground/DeployLayer" index="6" instance=ExtResource("12_0fckv")]
|
[node name="鼠疫海报" parent="Ground/DeployLayer" index="7" instance=ExtResource("12_0fckv")]
|
||||||
position = Vector2(439, -29)
|
position = Vector2(439, -29)
|
||||||
texture_cover = ExtResource("7_wdwbi")
|
texture_cover = ExtResource("7_wdwbi")
|
||||||
content_key = "c02_鼠疫海报"
|
content_key = "c02_鼠疫海报"
|
||||||
|
|
||||||
[node name="Ambush纸人" parent="Ground/DeployLayer" index="7" instance=ExtResource("8_52as8")]
|
[node name="Ambush纸人" parent="Ground/DeployLayer" index="8" instance=ExtResource("8_52as8")]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2(113, 44)
|
position = Vector2(113, 44)
|
||||||
texture = ExtResource("7_xsghn")
|
texture = ExtResource("7_xsghn")
|
||||||
@ -120,7 +128,6 @@ enabled = false
|
|||||||
trigger_mode = "interact"
|
trigger_mode = "interact"
|
||||||
one_shot = false
|
one_shot = false
|
||||||
freeze_time = 0.0
|
freeze_time = 0.0
|
||||||
hook_method = "paper_man_interacted"
|
|
||||||
|
|
||||||
[node name="wall" type="StaticBody2D" parent="Ground/DeployLayer/Ambush纸人"]
|
[node name="wall" type="StaticBody2D" parent="Ground/DeployLayer/Ambush纸人"]
|
||||||
position = Vector2(3, 4)
|
position = Vector2(3, 4)
|
||||||
@ -137,13 +144,13 @@ stream = ExtResource("11_u68d7")
|
|||||||
bus = &"game_sfx"
|
bus = &"game_sfx"
|
||||||
script = ExtResource("14_jg8g0")
|
script = ExtResource("14_jg8g0")
|
||||||
|
|
||||||
[node name="Ambush杂物堆" parent="Ground/DeployLayer" index="8" instance=ExtResource("8_52as8")]
|
[node name="Ambush杂物堆" parent="Ground/DeployLayer" index="9" instance=ExtResource("8_52as8")]
|
||||||
position = Vector2(387, 66)
|
position = Vector2(387, 66)
|
||||||
trigger_mode = "interact"
|
trigger_mode = "interact"
|
||||||
freeze_time = 1.0
|
freeze_time = 1.0
|
||||||
hook_method = "lumber_interacted"
|
hook_method = "lumber_interacted"
|
||||||
|
|
||||||
[node name="杂物眨眼睛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="9"]
|
[node name="杂物眨眼睛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="10"]
|
||||||
visible = false
|
visible = false
|
||||||
light_mask = 5
|
light_mask = 5
|
||||||
position = Vector2(269, 38)
|
position = Vector2(269, 38)
|
||||||
@ -156,34 +163,34 @@ energy = 3.0
|
|||||||
range_item_cull_mask = 4
|
range_item_cull_mask = 4
|
||||||
texture = ExtResource("17_m1xet")
|
texture = ExtResource("17_m1xet")
|
||||||
|
|
||||||
[node name="Note老鼠洞" parent="Ground/DeployLayer" index="10" instance=ExtResource("3_fy0o1")]
|
[node name="Note老鼠洞" parent="Ground/DeployLayer" index="11" instance=ExtResource("3_fy0o1")]
|
||||||
position = Vector2(507, 64)
|
position = Vector2(507, 64)
|
||||||
title_filter = "c02"
|
title_filter = "c02"
|
||||||
note_key = "c02_老鼠洞"
|
note_key = "c02_老鼠洞"
|
||||||
|
|
||||||
[node name="老鼠拖鞋" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="11"]
|
[node name="老鼠拖鞋" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="12"]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2(498, 0)
|
position = Vector2(498, 0)
|
||||||
sprite_frames = ExtResource("19_q0axc")
|
sprite_frames = ExtResource("19_q0axc")
|
||||||
animation = &"老鼠托小鞋子"
|
animation = &"老鼠托小鞋子"
|
||||||
|
|
||||||
[node name="Interactable小鞋子" parent="Ground/DeployLayer" index="12" instance=ExtResource("13_ck13g")]
|
[node name="Interactable小鞋子" parent="Ground/DeployLayer" index="13" instance=ExtResource("13_ck13g")]
|
||||||
position = Vector2(498, 65)
|
position = Vector2(498, 65)
|
||||||
enabled = false
|
enabled = false
|
||||||
mute_when_interacted = true
|
mute_when_interacted = true
|
||||||
|
|
||||||
[node name="Ambush推小鞋子" parent="Ground/DeployLayer" index="13" instance=ExtResource("8_52as8")]
|
[node name="Ambush推小鞋子" parent="Ground/DeployLayer" index="14" instance=ExtResource("8_52as8")]
|
||||||
position = Vector2(525, 61)
|
position = Vector2(525, 61)
|
||||||
one_shot = false
|
one_shot = false
|
||||||
freeze_time = 1.0
|
freeze_time = 1.0
|
||||||
hook_method = "check_if_show_shoes"
|
hook_method = "check_if_show_shoes"
|
||||||
|
|
||||||
[node name="煤油灯" parent="Ground/DeployLayer" index="14" instance=ExtResource("17_mpkj1")]
|
[node name="煤油灯" parent="Ground/DeployLayer" index="15" instance=ExtResource("17_mpkj1")]
|
||||||
position = Vector2(122, -15)
|
position = Vector2(122, -15)
|
||||||
gaslight_energy = 2.0
|
gaslight_energy = 2.0
|
||||||
gaslight_ground_energy = 0.0
|
gaslight_ground_energy = 0.0
|
||||||
|
|
||||||
[node name="Closeup八音盒" parent="Ground/DeployLayer" index="15" instance=ExtResource("19_6wwyd")]
|
[node name="Closeup八音盒" parent="Ground/DeployLayer" index="16" instance=ExtResource("19_6wwyd")]
|
||||||
position = Vector2(533, 65)
|
position = Vector2(533, 65)
|
||||||
packed_scene = ExtResource("10_ifae7")
|
packed_scene = ExtResource("10_ifae7")
|
||||||
|
|
||||||
|
@ -85,6 +85,8 @@ func _on_ground_ready() -> void:
|
|||||||
|
|
||||||
if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played:
|
if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played:
|
||||||
SceneManager.freeze_player(0)
|
SceneManager.freeze_player(0)
|
||||||
|
# 等待转场
|
||||||
|
await get_tree().create_timer(1.0).timeout
|
||||||
small_shoe.enabled = true
|
small_shoe.enabled = true
|
||||||
var y2 = small_shoe.position.y
|
var y2 = small_shoe.position.y
|
||||||
var y1 = y2 - 150
|
var y1 = y2 - 150
|
||||||
|
@ -379,7 +379,7 @@ position = Vector2(523, 78)
|
|||||||
note_key = "notes_干掉的血迹"
|
note_key = "notes_干掉的血迹"
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Note血迹"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Note血迹"]
|
||||||
self_modulate = Color(0.47788, 0.47788, 0.47788, 1)
|
self_modulate = Color(0.255659, 0.255659, 0.255659, 1)
|
||||||
show_behind_parent = true
|
show_behind_parent = true
|
||||||
position = Vector2(132, 10)
|
position = Vector2(132, 10)
|
||||||
sprite_frames = ExtResource("4_gd6xp")
|
sprite_frames = ExtResource("4_gd6xp")
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
[gd_scene load_steps=24 format=3 uid="uid://cp8d3ag5nbjq0"]
|
[gd_scene load_steps=23 format=3 uid="uid://cp8d3ag5nbjq0"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_6w6et"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_6w6et"]
|
||||||
[ext_resource type="Script" uid="uid://dydpmjpcvt3v1" path="res://scene/ground/scene/c02/s05_animation.gd" id="2_70lf6"]
|
[ext_resource type="Script" uid="uid://dydpmjpcvt3v1" path="res://scene/ground/scene/c02/s05_animation.gd" id="2_70lf6"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dbtepltemtmy2" path="res://asset/art/scene/c02/s05_一楼内侧楼道/bg_楼道背景.png" id="3_rcuxq"]
|
[ext_resource type="Texture2D" uid="uid://dbtepltemtmy2" path="res://asset/art/scene/c02/s05_一楼内侧楼道/bg_楼道背景.png" id="3_rcuxq"]
|
||||||
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_tueh3"]
|
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_tueh3"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/frames.tres" id="7_mrltr"]
|
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/frames.tres" id="7_mrltr"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://j5lpwxe8woew" path="res://asset/art/scene/c02/s02_大门过道/火苗.gif" id="7_rcuxq"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bn47plsx5coug" path="res://asset/art/scene/c02/s05_一楼内侧楼道/煤油灯光效.png" id="8_mrltr"]
|
[ext_resource type="Texture2D" uid="uid://bn47plsx5coug" path="res://asset/art/scene/c02/s05_一楼内侧楼道/煤油灯光效.png" id="8_mrltr"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="8_rcuxq"]
|
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="8_rcuxq"]
|
||||||
[ext_resource type="Texture2D" uid="uid://by506ky6fprab" path="res://asset/art/scene/c02/s07_二楼内侧楼道/fg_前景.png" id="8_tueh3"]
|
[ext_resource type="Texture2D" uid="uid://by506ky6fprab" path="res://asset/art/scene/c02/s07_二楼内侧楼道/fg_前景.png" id="8_tueh3"]
|
||||||
@ -123,9 +122,9 @@ hook_method = "wood_puppet"
|
|||||||
light_mask = 5
|
light_mask = 5
|
||||||
position = Vector2(239, 52)
|
position = Vector2(239, 52)
|
||||||
scale = Vector2(0.4, 0.4)
|
scale = Vector2(0.4, 0.4)
|
||||||
sprite_frames = ExtResource("7_rcuxq")
|
sprite_frames = ExtResource("7_mrltr")
|
||||||
animation = &"gif"
|
animation = &"火苗"
|
||||||
autoplay = "gif"
|
autoplay = "火苗"
|
||||||
|
|
||||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/火苗"]
|
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/火苗"]
|
||||||
position = Vector2(0, 5)
|
position = Vector2(0, 5)
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
|
||||||
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_animation.gd" id="2_4dg6u"]
|
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_animation.gd" id="2_4dg6u"]
|
||||||
[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="3_och2w"]
|
[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="3_och2w"]
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_7x2h6"]
|
|
||||||
[ext_resource type="AudioStream" uid="uid://ce3p55nnts4v5" path="res://asset/audio/effect/action/cloth2.ogg" id="4_58e26"]
|
[ext_resource type="AudioStream" uid="uid://ce3p55nnts4v5" path="res://asset/audio/effect/action/cloth2.ogg" id="4_58e26"]
|
||||||
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_haidv"]
|
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_haidv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="5_3p5ta"]
|
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="5_3p5ta"]
|
||||||
@ -17,6 +16,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_p6da7"]
|
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_p6da7"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="11_owxx3"]
|
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="11_owxx3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cjx7o685ox8c1" path="res://scene/little_game/弹珠游戏/弹珠游戏.tscn" id="12_intre"]
|
[ext_resource type="PackedScene" uid="uid://cjx7o685ox8c1" path="res://scene/little_game/弹珠游戏/弹珠游戏.tscn" id="12_intre"]
|
||||||
|
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="14_7x2h6"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_k01ve"]
|
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_k01ve"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/frames.tres" id="14_och2w"]
|
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/frames.tres" id="14_och2w"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/frames.tres" id="15_k01ve"]
|
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/frames.tres" id="15_k01ve"]
|
||||||
@ -135,7 +135,7 @@ tracks/8/keys = {
|
|||||||
tracks/9/type = "value"
|
tracks/9/type = "value"
|
||||||
tracks/9/imported = false
|
tracks/9/imported = false
|
||||||
tracks/9/enabled = true
|
tracks/9/enabled = true
|
||||||
tracks/9/path = NodePath("AnimationPlayer/疯子撞墙Sfx:playing")
|
tracks/9/path = NodePath("DeployLayer/疯子撞墙/疯子撞墙Sfx2D:playing")
|
||||||
tracks/9/interp = 1
|
tracks/9/interp = 1
|
||||||
tracks/9/loop_wrap = true
|
tracks/9/loop_wrap = true
|
||||||
tracks/9/keys = {
|
tracks/9/keys = {
|
||||||
@ -277,7 +277,7 @@ tracks/2/keys = {
|
|||||||
tracks/3/type = "value"
|
tracks/3/type = "value"
|
||||||
tracks/3/imported = false
|
tracks/3/imported = false
|
||||||
tracks/3/enabled = true
|
tracks/3/enabled = true
|
||||||
tracks/3/path = NodePath("AnimationPlayer/疯子撞墙Sfx:playing")
|
tracks/3/path = NodePath("DeployLayer/疯子撞墙/疯子撞墙Sfx2D:playing")
|
||||||
tracks/3/interp = 1
|
tracks/3/interp = 1
|
||||||
tracks/3/loop_wrap = true
|
tracks/3/loop_wrap = true
|
||||||
tracks/3/keys = {
|
tracks/3/keys = {
|
||||||
@ -323,11 +323,6 @@ data = {
|
|||||||
}
|
}
|
||||||
oneshot_animation = ""
|
oneshot_animation = ""
|
||||||
|
|
||||||
[node name="疯子撞墙Sfx" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
|
|
||||||
stream = ExtResource("4_58e26")
|
|
||||||
bus = &"game_sfx"
|
|
||||||
script = ExtResource("4_7x2h6")
|
|
||||||
|
|
||||||
[node name="BGSprite2D" parent="Ground" index="1"]
|
[node name="BGSprite2D" parent="Ground" index="1"]
|
||||||
light_mask = 5
|
light_mask = 5
|
||||||
position = Vector2(0, -2)
|
position = Vector2(0, -2)
|
||||||
@ -397,6 +392,16 @@ action_configs = Array[Dictionary]([{
|
|||||||
&"animation_next": "疯子撞墙"
|
&"animation_next": "疯子撞墙"
|
||||||
}])
|
}])
|
||||||
|
|
||||||
|
[node name="疯子撞墙Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/疯子撞墙"]
|
||||||
|
position = Vector2(5, 28)
|
||||||
|
stream = ExtResource("4_58e26")
|
||||||
|
max_distance = 600.0
|
||||||
|
attenuation = 3.0
|
||||||
|
bus = &"game_sfx"
|
||||||
|
script = ExtResource("14_7x2h6")
|
||||||
|
file = ""
|
||||||
|
metadata/_custom_type_script = "uid://wapo47a1oddf"
|
||||||
|
|
||||||
[node name="Ambush三男孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_k01ve")]
|
[node name="Ambush三男孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_k01ve")]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2(167, 38)
|
position = Vector2(167, 38)
|
||||||
@ -466,6 +471,6 @@ visible = false
|
|||||||
energy = 0.9
|
energy = 0.9
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
|
|
||||||
[connection signal="finished" from="Ground/AnimationPlayer/疯子撞墙Sfx" to="Ground/AnimationPlayer/疯子撞墙Sfx" method="play"]
|
[connection signal="finished" from="Ground/DeployLayer/疯子撞墙/疯子撞墙Sfx2D" to="Ground/DeployLayer/疯子撞墙/疯子撞墙Sfx2D" method="play"]
|
||||||
|
|
||||||
[editable path="Ground"]
|
[editable path="Ground"]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=26 format=3 uid="uid://ce2vyyg2reg52"]
|
[gd_scene load_steps=25 format=3 uid="uid://ce2vyyg2reg52"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_judx3"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_judx3"]
|
||||||
[ext_resource type="Script" uid="uid://hbbgymjs5xte" path="res://scene/ground/scene/c02/s08_animation.gd" id="2_m4uw8"]
|
[ext_resource type="Script" uid="uid://hbbgymjs5xte" path="res://scene/ground/scene/c02/s08_animation.gd" id="2_m4uw8"]
|
||||||
@ -14,7 +14,6 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="11_kwj7c"]
|
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="11_kwj7c"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bgtxwxerl2dxh" path="res://asset/art/scene/c02/s08_瞎子卧室/十字架.png" id="11_t3h08"]
|
[ext_resource type="Texture2D" uid="uid://bgtxwxerl2dxh" path="res://asset/art/scene/c02/s08_瞎子卧室/十字架.png" id="11_t3h08"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bmid3iu2ch35o" path="res://asset/art/scene/c02/s08_瞎子卧室/八卦图.png" id="12_1ws4i"]
|
[ext_resource type="Texture2D" uid="uid://bmid3iu2ch35o" path="res://asset/art/scene/c02/s08_瞎子卧室/八卦图.png" id="12_1ws4i"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://j5lpwxe8woew" path="res://asset/art/scene/c02/s02_大门过道/火苗.gif" id="12_t3h08"]
|
|
||||||
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="13_t3h08"]
|
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="13_t3h08"]
|
||||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="14_1ws4i"]
|
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="14_1ws4i"]
|
||||||
|
|
||||||
@ -170,9 +169,9 @@ texture = ExtResource("10_vjjde")
|
|||||||
[node name="火苗" type="AnimatedSprite2D" parent="Ground/DeployLayer/瞎子小蝉对话/煤油灯"]
|
[node name="火苗" type="AnimatedSprite2D" parent="Ground/DeployLayer/瞎子小蝉对话/煤油灯"]
|
||||||
position = Vector2(0, 2)
|
position = Vector2(0, 2)
|
||||||
scale = Vector2(0.3, 0.3)
|
scale = Vector2(0.3, 0.3)
|
||||||
sprite_frames = ExtResource("12_t3h08")
|
sprite_frames = ExtResource("7_j6ltr")
|
||||||
animation = &"gif"
|
animation = &"火苗"
|
||||||
autoplay = "gif"
|
autoplay = "火苗"
|
||||||
|
|
||||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/瞎子小蝉对话/煤油灯"]
|
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/瞎子小蝉对话/煤油灯"]
|
||||||
color = Color(0.992487, 0.849353, 0.647837, 1)
|
color = Color(0.992487, 0.849353, 0.647837, 1)
|
||||||
|
@ -29,8 +29,12 @@ func _on_ground_ready() -> void:
|
|||||||
var half_length = rope_length / 2.0
|
var half_length = rope_length / 2.0
|
||||||
rope_range.x = rope.global_position.x - half_length
|
rope_range.x = rope.global_position.x - half_length
|
||||||
rope_range.y = rope.global_position.x + half_length
|
rope_range.y = rope.global_position.x + half_length
|
||||||
|
var player= %MainPlayer
|
||||||
# 玩家位置更新时,更新麻绳隆起
|
# 玩家位置更新时,更新麻绳隆起
|
||||||
%MainPlayer.position_updated.connect(_on_player_position_updated)
|
player.position_updated.connect(_on_player_position_updated)
|
||||||
|
# 首次更新
|
||||||
|
_on_player_position_updated(player.global_position)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var rope: MeshInstance2D
|
var rope: MeshInstance2D
|
||||||
@ -43,6 +47,8 @@ func _on_player_position_updated(global_pos: Vector2) -> void:
|
|||||||
if x < rope_range.x or x > rope_range.y:
|
if x < rope_range.x or x > rope_range.y:
|
||||||
return
|
return
|
||||||
var ratio = (x - rope_range.x) / rope_length
|
var ratio = (x - rope_range.x) / rope_length
|
||||||
|
# 限制 bulge 最大范围
|
||||||
|
ratio = clampf(ratio, 0.0, 0.8)
|
||||||
rope.set_bulge(ratio)
|
rope.set_bulge(ratio)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=34 format=4 uid="uid://ryups1dnwdto"]
|
[gd_scene load_steps=35 format=4 uid="uid://ryups1dnwdto"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"]
|
||||||
[ext_resource type="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_animation.gd" id="2_34a6f"]
|
[ext_resource type="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_animation.gd" id="2_34a6f"]
|
||||||
@ -16,11 +16,12 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dyactkkba6umx" path="res://asset/art/scene/c02/s09_裂缝/红色背景剪影人物床.png" id="10_rbu7p"]
|
[ext_resource type="Texture2D" uid="uid://dyactkkba6umx" path="res://asset/art/scene/c02/s09_裂缝/红色背景剪影人物床.png" id="10_rbu7p"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bet21rw73moau" path="res://asset/art/scene/c02/s09_裂缝/锅.png" id="15_4ua5q"]
|
[ext_resource type="Texture2D" uid="uid://bet21rw73moau" path="res://asset/art/scene/c02/s09_裂缝/锅.png" id="15_4ua5q"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="15_f0w8c"]
|
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="15_f0w8c"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="16_k15h1"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://cwes55ajc3rd4" path="res://asset/art/gif/c02_空房间/frames.tres" id="17_enajl"]
|
[ext_resource type="SpriteFrames" uid="uid://cwes55ajc3rd4" path="res://asset/art/gif/c02_空房间/frames.tres" id="17_enajl"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rbu7p"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rbu7p"]
|
||||||
shader = ExtResource("5_0fmdd")
|
shader = ExtResource("5_0fmdd")
|
||||||
shader_parameter/bulge_position = 1.0
|
shader_parameter/bulge_position = 0.8
|
||||||
shader_parameter/bulge_height = 0.2
|
shader_parameter/bulge_height = 0.2
|
||||||
shader_parameter/bulge_width = 0.1
|
shader_parameter/bulge_width = 0.1
|
||||||
shader_parameter/debug_mode = false
|
shader_parameter/debug_mode = false
|
||||||
@ -108,8 +109,8 @@ animations = [{
|
|||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_f0w8c"]
|
[sub_resource type="Gradient" id="Gradient_f0w8c"]
|
||||||
interpolation_mode = 2
|
interpolation_mode = 2
|
||||||
offsets = PackedFloat32Array(0, 0.249216, 1)
|
offsets = PackedFloat32Array(0, 0.142857, 0.249216, 1)
|
||||||
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1)
|
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1)
|
||||||
|
|
||||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_26xv7"]
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_26xv7"]
|
||||||
gradient = SubResource("Gradient_f0w8c")
|
gradient = SubResource("Gradient_f0w8c")
|
||||||
@ -117,17 +118,17 @@ width = 2000
|
|||||||
height = 200
|
height = 200
|
||||||
fill_to = Vector2(1, 0.143603)
|
fill_to = Vector2(1, 0.143603)
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_rbu7p"]
|
[sub_resource type="Gradient" id="Gradient_4ua5q"]
|
||||||
interpolation_mode = 2
|
interpolation_mode = 2
|
||||||
offsets = PackedFloat32Array(0, 0.0783699, 1)
|
offsets = PackedFloat32Array(0, 0.0840336, 0.27451, 0.826331, 0.901961, 1)
|
||||||
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1)
|
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0.713726, 1, 1, 1, 1.1262, 1, 1, 1, 0.701961, 1, 1, 1, 0, 1, 1, 1, 0)
|
||||||
|
|
||||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_f0w8c"]
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_f0w8c"]
|
||||||
gradient = SubResource("Gradient_rbu7p")
|
gradient = SubResource("Gradient_4ua5q")
|
||||||
width = 5000
|
width = 2500
|
||||||
height = 200
|
height = 200
|
||||||
fill_from = Vector2(0.5, 0)
|
fill_from = Vector2(0, 0.902062)
|
||||||
fill_to = Vector2(0.5, 1)
|
fill_to = Vector2(1, 1)
|
||||||
|
|
||||||
[node name="S09" type="Node2D"]
|
[node name="S09" type="Node2D"]
|
||||||
|
|
||||||
@ -141,6 +142,7 @@ script = ExtResource("2_34a6f")
|
|||||||
oneshot_animation = ""
|
oneshot_animation = ""
|
||||||
|
|
||||||
[node name="BGSprite2D" parent="Ground" index="1"]
|
[node name="BGSprite2D" parent="Ground" index="1"]
|
||||||
|
light_mask = 33
|
||||||
texture = ExtResource("3_6xql4")
|
texture = ExtResource("3_6xql4")
|
||||||
|
|
||||||
[node name="衔接阴影" type="Sprite2D" parent="Ground/BGSprite2D" index="0"]
|
[node name="衔接阴影" type="Sprite2D" parent="Ground/BGSprite2D" index="0"]
|
||||||
@ -150,7 +152,6 @@ texture = ExtResource("5_5ow41")
|
|||||||
|
|
||||||
[node name="麻绳" type="MeshInstance2D" parent="Ground/BGSprite2D" index="1"]
|
[node name="麻绳" type="MeshInstance2D" parent="Ground/BGSprite2D" index="1"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
|
||||||
z_index = 6
|
z_index = 6
|
||||||
material = SubResource("ShaderMaterial_rbu7p")
|
material = SubResource("ShaderMaterial_rbu7p")
|
||||||
position = Vector2(1316, 25)
|
position = Vector2(1316, 25)
|
||||||
@ -159,6 +160,7 @@ texture = ExtResource("4_34a6f")
|
|||||||
script = ExtResource("7_rbu7p")
|
script = ExtResource("7_rbu7p")
|
||||||
|
|
||||||
[node name="麻绳StaticBody2D" type="StaticBody2D" parent="Ground/BGSprite2D/麻绳"]
|
[node name="麻绳StaticBody2D" type="StaticBody2D" parent="Ground/BGSprite2D/麻绳"]
|
||||||
|
visible = false
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 16
|
collision_mask = 16
|
||||||
|
|
||||||
@ -300,6 +302,13 @@ position = Vector2(3664, -25)
|
|||||||
sprite_frames = SubResource("SpriteFrames_qjenp")
|
sprite_frames = SubResource("SpriteFrames_qjenp")
|
||||||
autoplay = "default"
|
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
|
||||||
|
texture = ExtResource("16_k15h1")
|
||||||
|
texture_scale = 0.3
|
||||||
|
|
||||||
[node name="血脚印" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="13"]
|
[node name="血脚印" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="13"]
|
||||||
position = Vector2(3651, -65)
|
position = Vector2(3651, -65)
|
||||||
sprite_frames = ExtResource("17_enajl")
|
sprite_frames = ExtResource("17_enajl")
|
||||||
@ -307,19 +316,18 @@ animation = &"空房间血脚印"
|
|||||||
frame = 8
|
frame = 8
|
||||||
|
|
||||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
||||||
|
visible = false
|
||||||
position = Vector2(3067, -61)
|
position = Vector2(3067, -61)
|
||||||
energy = 0.7
|
energy = 0.7
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
texture = SubResource("GradientTexture2D_26xv7")
|
texture = SubResource("GradientTexture2D_26xv7")
|
||||||
|
|
||||||
[node name="PointLight2D2" type="PointLight2D" parent="Ground/AmbientLayer" index="1"]
|
[node name="PointLight2D2" type="PointLight2D" parent="Ground/AmbientLayer" index="1"]
|
||||||
position = Vector2(2386, 124)
|
position = Vector2(1325, -65)
|
||||||
energy = 0.7
|
range_item_cull_mask = 32
|
||||||
blend_mode = 1
|
|
||||||
texture = SubResource("GradientTexture2D_f0w8c")
|
texture = SubResource("GradientTexture2D_f0w8c")
|
||||||
|
|
||||||
[node name="MainPlayer" parent="Ground" index="4"]
|
[node name="MainPlayer" parent="Ground" index="4"]
|
||||||
visible = false
|
|
||||||
position = Vector2(1834, 88)
|
position = Vector2(1834, 88)
|
||||||
lock_move_right = true
|
lock_move_right = true
|
||||||
character = "吕萍爬行"
|
character = "吕萍爬行"
|
||||||
@ -341,7 +349,8 @@ position = Vector2(3421, 25)
|
|||||||
points = PackedVector2Array(80, 150, 3850, 150)
|
points = PackedVector2Array(80, 150, 3850, 150)
|
||||||
|
|
||||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||||
energy = 0.0
|
visible = false
|
||||||
|
energy = 0.7
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
|
|
||||||
[node name="UIPointLight2D" parent="Ground" index="10"]
|
[node name="UIPointLight2D" parent="Ground" index="10"]
|
||||||
|
@ -68,6 +68,12 @@ func _ready() -> void:
|
|||||||
else:
|
else:
|
||||||
_switch_gaslight(false)
|
_switch_gaslight(false)
|
||||||
interacted.connect(_gaslight_interacted)
|
interacted.connect(_gaslight_interacted)
|
||||||
|
interact_mismatch_failed.connect(_on_mismatch)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mismatch():
|
||||||
|
SceneManager.pop_center_notification(tr("ui_switch_prop"))
|
||||||
|
|
||||||
|
|
||||||
# 永久打开煤油灯
|
# 永久打开煤油灯
|
||||||
func turn_on(gradually := true):
|
func turn_on(gradually := true):
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_w1aco"]
|
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_w1aco"]
|
||||||
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="5_l338h"]
|
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="5_l338h"]
|
||||||
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="6_ivr1s"]
|
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="6_ivr1s"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://j5lpwxe8woew" path="res://asset/art/scene/c02/s02_大门过道/火苗.gif" id="8_66xfe"]
|
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="8_abb1f"]
|
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="8_abb1f"]
|
||||||
|
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/frames.tres" id="9_h0ajm"]
|
||||||
[ext_resource type="Texture2D" uid="uid://djfn6ya63emu0" path="res://asset/art/scene/c02/s02_大门过道/e_煤油灯座.png" id="10_h0ajm"]
|
[ext_resource type="Texture2D" uid="uid://djfn6ya63emu0" path="res://asset/art/scene/c02/s02_大门过道/e_煤油灯座.png" id="10_h0ajm"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h0ajm"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h0ajm"]
|
||||||
@ -58,9 +58,9 @@ texture = ExtResource("3_y2gsk")
|
|||||||
[node name="灯光" type="AnimatedSprite2D" parent="."]
|
[node name="灯光" type="AnimatedSprite2D" parent="."]
|
||||||
position = Vector2(0, -14)
|
position = Vector2(0, -14)
|
||||||
scale = Vector2(0.4, 0.4)
|
scale = Vector2(0.4, 0.4)
|
||||||
sprite_frames = ExtResource("8_66xfe")
|
sprite_frames = ExtResource("9_h0ajm")
|
||||||
animation = &"gif"
|
animation = &"火苗"
|
||||||
autoplay = "gif"
|
autoplay = "火苗"
|
||||||
|
|
||||||
[node name="灯座" type="Sprite2D" parent="."]
|
[node name="灯座" type="Sprite2D" parent="."]
|
||||||
position = Vector2(-4.5, 16)
|
position = Vector2(-4.5, 16)
|
||||||
|
@ -15,6 +15,8 @@ var animation_finished = false
|
|||||||
func _ready():
|
func _ready():
|
||||||
if GlobalConfig.DEBUG:
|
if GlobalConfig.DEBUG:
|
||||||
print("Index Page Ready")
|
print("Index Page Ready")
|
||||||
|
# 推到 index 时禁用 paused
|
||||||
|
get_tree().paused = false
|
||||||
newgame_btn.pressed.connect(_on_newgame_pressed)
|
newgame_btn.pressed.connect(_on_newgame_pressed)
|
||||||
resume_btn.pressed.connect(_on_resume_pressed)
|
resume_btn.pressed.connect(_on_resume_pressed)
|
||||||
quit_btn.pressed.connect(_on_quit_pressed)
|
quit_btn.pressed.connect(_on_quit_pressed)
|
||||||
|
@ -42,6 +42,7 @@ content_margin_top = 4.0
|
|||||||
content_margin_bottom = 4.0
|
content_margin_bottom = 4.0
|
||||||
|
|
||||||
[node name="IndexPage" type="Control"]
|
[node name="IndexPage" type="Control"]
|
||||||
|
process_mode = 3
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
|
@ -49,6 +49,8 @@ func _ready() -> void:
|
|||||||
# shuffle at the end
|
# shuffle at the end
|
||||||
_shuffle_books()
|
_shuffle_books()
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
SceneManager.pop_center_notification(tr("ui_press_q_to_exit"))
|
||||||
|
|
||||||
func _init_answer_and_connect_signals() -> void:
|
func _init_answer_and_connect_signals() -> void:
|
||||||
current_answer.clear()
|
current_answer.clear()
|
||||||
|
@ -55,6 +55,7 @@ func intro_finished():
|
|||||||
var ball = pivot.get_child(0) as RigidBody2D
|
var ball = pivot.get_child(0) as RigidBody2D
|
||||||
ball.angular_velocity = 20
|
ball.angular_velocity = 20
|
||||||
animation_player.play("give_ball")
|
animation_player.play("give_ball")
|
||||||
|
sfx_dispatch.play()
|
||||||
await animation_player.animation_finished
|
await animation_player.animation_finished
|
||||||
# 开始弹珠游戏
|
# 开始弹珠游戏
|
||||||
checkout_round(0)
|
checkout_round(0)
|
||||||
@ -264,10 +265,11 @@ func _unhandled_input(event: InputEvent) -> void:
|
|||||||
else:
|
else:
|
||||||
shoot()
|
shoot()
|
||||||
get_viewport().set_input_as_handled()
|
get_viewport().set_input_as_handled()
|
||||||
elif event.is_action_pressed("space"):
|
# 为保持 UI 一致性,弹珠游戏不使用 space 键
|
||||||
if round_id >= 0:
|
# elif event.is_action_pressed("space"):
|
||||||
shoot()
|
# if round_id >= 0:
|
||||||
get_viewport().set_input_as_handled()
|
# shoot()
|
||||||
|
# get_viewport().set_input_as_handled()
|
||||||
|
|
||||||
|
|
||||||
signal dialogue_ended
|
signal dialogue_ended
|
||||||
|
@ -29,8 +29,11 @@ func _ready() -> void:
|
|||||||
_display_selected()
|
_display_selected()
|
||||||
content_rect.modulate.a = 0.0
|
content_rect.modulate.a = 0.0
|
||||||
content_rect.visible = true
|
content_rect.visible = true
|
||||||
SceneManager.pop_center_notification(tr("input_拼凑信件"))
|
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
SceneManager.pop_center_notification(tr("input_拼凑信件"))
|
||||||
|
await get_tree().create_timer(4.0).timeout
|
||||||
|
SceneManager.pop_center_notification(tr("ui_press_q_to_exit"))
|
||||||
|
|
||||||
func _setup() -> void:
|
func _setup() -> void:
|
||||||
# 保存 whole 中的 4 个 part 的位置,然后从 whole 中移除,添加到 container 中
|
# 保存 whole 中的 4 个 part 的位置,然后从 whole 中移除,添加到 container 中
|
||||||
@ -136,7 +139,7 @@ func _post_success():
|
|||||||
# tween.tween_property(content_rect, "modulate:a", 1.0, 1.0)
|
# tween.tween_property(content_rect, "modulate:a", 1.0, 1.0)
|
||||||
var texture = preload("res://asset/art/prop/c01/院长的信.png")
|
var texture = preload("res://asset/art/prop/c01/院长的信.png")
|
||||||
var inspector = SceneManager.get_inspector()
|
var inspector = SceneManager.get_inspector()
|
||||||
inspector.pop_standard_inspection(texture, null, tr("prop_院长的信_说明"))
|
inspector.pop_standard_inspection(texture, null, tr("prop_院长的信_说明"), false, true)
|
||||||
SceneManager.enable_important_item("prop_院长的信")
|
SceneManager.enable_important_item("prop_院长的信")
|
||||||
whole.visible = false
|
whole.visible = false
|
||||||
# 1s 后退出
|
# 1s 后退出
|
||||||
|
@ -76,7 +76,7 @@ func _blink_label(init := true):
|
|||||||
|
|
||||||
|
|
||||||
# 如果没有 notes_texture,自动使用黑色遮罩
|
# 如果没有 notes_texture,自动使用黑色遮罩
|
||||||
func pop_standard_inspection(cover_texture, notes_texture, inspection_note, centered := false):
|
func pop_standard_inspection(cover_texture, notes_texture, inspection_note, centered := false, wide := false):
|
||||||
if centered:
|
if centered:
|
||||||
content_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
content_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||||
else:
|
else:
|
||||||
@ -88,7 +88,13 @@ func pop_standard_inspection(cover_texture, notes_texture, inspection_note, cent
|
|||||||
full_texture.texture = cover_texture
|
full_texture.texture = cover_texture
|
||||||
texture_cover = cover_texture
|
texture_cover = cover_texture
|
||||||
texture_notes = notes_texture
|
texture_notes = notes_texture
|
||||||
content_label.text = inspection_note
|
if wide:
|
||||||
|
content_label.custom_minimum_size.x = 250
|
||||||
|
else:
|
||||||
|
content_label.custom_minimum_size.x = 150
|
||||||
|
# # shrink back
|
||||||
|
# content_label.size.x = 150
|
||||||
|
content_label.text = inspection_note.replace("<br>", "\n").strip_edges()
|
||||||
SceneManager.freeze_player(0)
|
SceneManager.freeze_player(0)
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property(full_texture, "modulate:a", 1.0, 0.15)
|
tween.tween_property(full_texture, "modulate:a", 1.0, 0.15)
|
||||||
@ -126,20 +132,22 @@ func pop_prop_inspection(prop_key: String, cover_texture: Texture2D, use_default
|
|||||||
text += "[#item]\n"
|
text += "[#item]\n"
|
||||||
# 道具的一句话说明
|
# 道具的一句话说明
|
||||||
var words_key = prop_key + "_说明"
|
var words_key = prop_key + "_说明"
|
||||||
var words = tr(words_key)
|
var words = tr(words_key).replace("<br>", "\n").strip_edges()
|
||||||
if words_key != words:
|
if words_key != words:
|
||||||
text += words + "\n"
|
text += words + "\n"
|
||||||
elif GlobalConfig.DEBUG:
|
|
||||||
text += "[debug] 待补充描述\n"
|
|
||||||
text += "=> END"
|
text += "=> END"
|
||||||
var prop_res = DialogueManager.create_resource_from_text(text)
|
var prop_res = DialogueManager.create_resource_from_text(text)
|
||||||
var balloon = preload("res://scene/dialog/balloon.tscn").instantiate()
|
var balloon = preload("res://scene/dialog/balloon.tscn").instantiate()
|
||||||
# 手动跳过的同时显示下一句
|
# # 手动跳过的同时显示下一句
|
||||||
balloon.manually_skipped_line.connect(_show_prop_words)
|
|
||||||
DialogueManager.show_dialogue_balloon_scene(balloon, prop_res, "title")
|
DialogueManager.show_dialogue_balloon_scene(balloon, prop_res, "title")
|
||||||
|
DialogueManager.dialogue_ended.connect(_on_inspecting_prop_words_ended)
|
||||||
SceneManager.freeze_player(0)
|
SceneManager.freeze_player(0)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_inspecting_prop_words_ended(_res = null):
|
||||||
|
_hide()
|
||||||
|
|
||||||
|
|
||||||
func _show_prop_words(line_id: String):
|
func _show_prop_words(line_id: String):
|
||||||
# 如果手动退出 ballon,同时退出 prop inspector
|
# 如果手动退出 ballon,同时退出 prop inspector
|
||||||
if line_id == "3":
|
if line_id == "3":
|
||||||
@ -172,7 +180,7 @@ func _unhandled_input(event: InputEvent) -> void:
|
|||||||
tip_label.text = tip_cover
|
tip_label.text = tip_cover
|
||||||
create_tween().tween_property(content_label, "modulate:a", 0.0, 0.2)
|
create_tween().tween_property(content_label, "modulate:a", 0.0, 0.2)
|
||||||
elif status == STATUS_INSPECTING_PROP:
|
elif status == STATUS_INSPECTING_PROP:
|
||||||
# STATUS_INSPECTING_PROP 直接退出
|
# # STATUS_INSPECTING_PROP 直接退出
|
||||||
# 因为 input 优先被 ballon 获得,然后被 inspector 获得
|
# # 因为 input 优先被 ballon 获得,然后被 inspector 获得
|
||||||
# 所以此时必然没有 ballon 存在
|
# # 所以此时必然没有 ballon 存在
|
||||||
_hide()
|
_hide()
|
||||||
|