diff --git a/asset/art/scene/c02/小手/洞.png b/asset/art/gif/c02_小手/洞.png similarity index 100% rename from asset/art/scene/c02/小手/洞.png rename to asset/art/gif/c02_小手/洞.png diff --git a/asset/art/scene/c02/小手/洞.png.import b/asset/art/gif/c02_小手/洞.png.import similarity index 72% rename from asset/art/scene/c02/小手/洞.png.import rename to asset/art/gif/c02_小手/洞.png.import index 6458e7d4..a8c90e63 100644 --- a/asset/art/scene/c02/小手/洞.png.import +++ b/asset/art/gif/c02_小手/洞.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cawpq7rnho5px" -path="res://.godot/imported/洞.png-966fe640ecc42fd45e1bd46377899638.ctex" +path="res://.godot/imported/洞.png-4b9f662fa1b15ce171b32301a2c981b5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://asset/art/scene/c02/小手/洞.png" -dest_files=["res://.godot/imported/洞.png-966fe640ecc42fd45e1bd46377899638.ctex"] +source_file="res://asset/art/gif/c02_小手/洞.png" +dest_files=["res://.godot/imported/洞.png-4b9f662fa1b15ce171b32301a2c981b5.ctex"] [params] diff --git a/asset/art/scene/c02/水盆特写.png b/asset/art/scene/c02/s06_二楼楼道/水盆特写.png similarity index 100% rename from asset/art/scene/c02/水盆特写.png rename to asset/art/scene/c02/s06_二楼楼道/水盆特写.png diff --git a/asset/art/scene/c02/水盆特写.png.import b/asset/art/scene/c02/s06_二楼楼道/水盆特写.png.import similarity index 65% rename from asset/art/scene/c02/水盆特写.png.import rename to asset/art/scene/c02/s06_二楼楼道/水盆特写.png.import index fea1997e..8917f242 100644 --- a/asset/art/scene/c02/水盆特写.png.import +++ b/asset/art/scene/c02/s06_二楼楼道/水盆特写.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bebgjc6t1arqr" -path="res://.godot/imported/水盆特写.png-7785ab04378ba468dbf3509897d90714.ctex" +uid="uid://oiswtv7jqcqy" +path="res://.godot/imported/水盆特写.png-18dcef2b274ca5d5520264a0fb265000.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://asset/art/scene/c02/水盆特写.png" -dest_files=["res://.godot/imported/水盆特写.png-7785ab04378ba468dbf3509897d90714.ctex"] +source_file="res://asset/art/scene/c02/s06_二楼楼道/水盆特写.png" +dest_files=["res://.godot/imported/水盆特写.png-18dcef2b274ca5d5520264a0fb265000.ctex"] [params] diff --git a/asset/art/scene/c02/小手/元宝.png b/asset/art/scene/c02/小手/元宝.png deleted file mode 100644 index 6e5f8982..00000000 Binary files a/asset/art/scene/c02/小手/元宝.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/元宝.png.import b/asset/art/scene/c02/小手/元宝.png.import deleted file mode 100644 index 54373912..00000000 --- a/asset/art/scene/c02/小手/元宝.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bw32fmfjyd6jf" -path="res://.godot/imported/元宝.png-c1f8a81daa9916fc2a7a8c08d5e6cabe.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/元宝.png" -dest_files=["res://.godot/imported/元宝.png-c1f8a81daa9916fc2a7a8c08d5e6cabe.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/scene/c02/小手/小手_idle.png b/asset/art/scene/c02/小手/小手_idle.png deleted file mode 100644 index 33b11794..00000000 Binary files a/asset/art/scene/c02/小手/小手_idle.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手_idle.png.import b/asset/art/scene/c02/小手/小手_idle.png.import deleted file mode 100644 index 85ccf5a1..00000000 --- a/asset/art/scene/c02/小手/小手_idle.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b5psce6mmucc3" -path="res://.godot/imported/小手_idle.png-bb6b10673a7daa8cc38feca24b12f6c9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手_idle.png" -dest_files=["res://.godot/imported/小手_idle.png-bb6b10673a7daa8cc38feca24b12f6c9.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/scene/c02/小手/小手_元宝_show.png b/asset/art/scene/c02/小手/小手_元宝_show.png deleted file mode 100644 index 5a62d79c..00000000 Binary files a/asset/art/scene/c02/小手/小手_元宝_show.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手_元宝_show.png.import b/asset/art/scene/c02/小手/小手_元宝_show.png.import deleted file mode 100644 index 4295d187..00000000 --- a/asset/art/scene/c02/小手/小手_元宝_show.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://da0fyixfmy0w4" -path="res://.godot/imported/小手_元宝_show.png-ac436d048509309b0c1fa257ec4b455f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手_元宝_show.png" -dest_files=["res://.godot/imported/小手_元宝_show.png-ac436d048509309b0c1fa257ec4b455f.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/scene/c02/小手/小手_玻璃珠_show.png b/asset/art/scene/c02/小手/小手_玻璃珠_show.png deleted file mode 100644 index 17f51498..00000000 Binary files a/asset/art/scene/c02/小手/小手_玻璃珠_show.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手_玻璃珠_show.png.import b/asset/art/scene/c02/小手/小手_玻璃珠_show.png.import deleted file mode 100644 index c7090c76..00000000 --- a/asset/art/scene/c02/小手/小手_玻璃珠_show.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cadoti5sjaly2" -path="res://.godot/imported/小手_玻璃珠_show.png-63e95ccb812ec0697668b796bf07a1b2.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手_玻璃珠_show.png" -dest_files=["res://.godot/imported/小手_玻璃珠_show.png-63e95ccb812ec0697668b796bf07a1b2.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/scene/c02/小手/小手_纸杯_show.png b/asset/art/scene/c02/小手/小手_纸杯_show.png deleted file mode 100644 index 7bbda381..00000000 Binary files a/asset/art/scene/c02/小手/小手_纸杯_show.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手_纸杯_show.png.import b/asset/art/scene/c02/小手/小手_纸杯_show.png.import deleted file mode 100644 index 3b9c1ba1..00000000 --- a/asset/art/scene/c02/小手/小手_纸杯_show.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bfygthx56qdix" -path="res://.godot/imported/小手_纸杯_show.png-51a44b6a08b573a11da54507e55bb7e5.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手_纸杯_show.png" -dest_files=["res://.godot/imported/小手_纸杯_show.png-51a44b6a08b573a11da54507e55bb7e5.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/scene/c02/小手/小手_老虎钳_show.png b/asset/art/scene/c02/小手/小手_老虎钳_show.png deleted file mode 100644 index 6b9a7e1c..00000000 Binary files a/asset/art/scene/c02/小手/小手_老虎钳_show.png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手_老虎钳_show.png.import b/asset/art/scene/c02/小手/小手_老虎钳_show.png.import deleted file mode 100644 index b8d8af5b..00000000 --- a/asset/art/scene/c02/小手/小手_老虎钳_show.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://by5xehwr2y50m" -path="res://.godot/imported/小手_老虎钳_show.png-112bcfe2749aa6350cfb4b129d8e5dc3.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手_老虎钳_show.png" -dest_files=["res://.godot/imported/小手_老虎钳_show.png-112bcfe2749aa6350cfb4b129d8e5dc3.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/scene/c02/小手/小手(待机).png b/asset/art/scene/c02/小手/小手(待机).png deleted file mode 100644 index 36663dbc..00000000 Binary files a/asset/art/scene/c02/小手/小手(待机).png and /dev/null differ diff --git a/asset/art/scene/c02/小手/小手(待机).png.import b/asset/art/scene/c02/小手/小手(待机).png.import deleted file mode 100644 index c14dba4a..00000000 --- a/asset/art/scene/c02/小手/小手(待机).png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://2eg2tf60mk63" -path="res://.godot/imported/小手(待机).png-93d7cb3bb312072478903fb2654369f3.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/小手/小手(待机).png" -dest_files=["res://.godot/imported/小手(待机).png-93d7cb3bb312072478903fb2654369f3.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/scene/c02/火灾/bg_背景.png b/asset/art/scene/c02/火灾/bg_背景.png deleted file mode 100644 index 9c025cbb..00000000 Binary files a/asset/art/scene/c02/火灾/bg_背景.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/bg_背景.png.import b/asset/art/scene/c02/火灾/bg_背景.png.import deleted file mode 100644 index 77f69044..00000000 --- a/asset/art/scene/c02/火灾/bg_背景.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1jsvibtwb02n" -path="res://.godot/imported/bg_背景.png-b89ad5181b5cccbc0865463a9dad6ae8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/bg_背景.png" -dest_files=["res://.godot/imported/bg_背景.png-b89ad5181b5cccbc0865463a9dad6ae8.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/scene/c02/火灾/前侧楼梯.png b/asset/art/scene/c02/火灾/前侧楼梯.png deleted file mode 100644 index fa410e54..00000000 Binary files a/asset/art/scene/c02/火灾/前侧楼梯.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/前侧楼梯.png.import b/asset/art/scene/c02/火灾/前侧楼梯.png.import deleted file mode 100644 index f3552b9f..00000000 --- a/asset/art/scene/c02/火灾/前侧楼梯.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c71cbapdbd32g" -path="res://.godot/imported/前侧楼梯.png-d077484fc694763a15bfbbb57835baba.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/前侧楼梯.png" -dest_files=["res://.godot/imported/前侧楼梯.png-d077484fc694763a15bfbbb57835baba.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/scene/c02/火灾/地面反光.png b/asset/art/scene/c02/火灾/地面反光.png deleted file mode 100644 index f609068e..00000000 Binary files a/asset/art/scene/c02/火灾/地面反光.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/地面反光.png.import b/asset/art/scene/c02/火灾/地面反光.png.import deleted file mode 100644 index 7393eb48..00000000 --- a/asset/art/scene/c02/火灾/地面反光.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dalbftdygcxg8" -path="res://.godot/imported/地面反光.png-3cb1875f6c357b0ae8f5d159eb4ee6dd.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/地面反光.png" -dest_files=["res://.godot/imported/地面反光.png-3cb1875f6c357b0ae8f5d159eb4ee6dd.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/scene/c02/火灾/水井(遮挡).png b/asset/art/scene/c02/火灾/水井(遮挡).png deleted file mode 100644 index e12dfcaa..00000000 Binary files a/asset/art/scene/c02/火灾/水井(遮挡).png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/水井(遮挡).png.import b/asset/art/scene/c02/火灾/水井(遮挡).png.import deleted file mode 100644 index 5aed950a..00000000 --- a/asset/art/scene/c02/火灾/水井(遮挡).png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://brgxtky5ejish" -path="res://.godot/imported/水井(遮挡).png-b18e7ca98ef913ca7d5b8b6b19cfad6e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/水井(遮挡).png" -dest_files=["res://.godot/imported/水井(遮挡).png-b18e7ca98ef913ca7d5b8b6b19cfad6e.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/scene/c02/火灾/火苗.png b/asset/art/scene/c02/火灾/火苗.png deleted file mode 100644 index e91afc22..00000000 Binary files a/asset/art/scene/c02/火灾/火苗.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/火苗.png.import b/asset/art/scene/c02/火灾/火苗.png.import deleted file mode 100644 index fb4e6283..00000000 --- a/asset/art/scene/c02/火灾/火苗.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://5m36rt85krpv" -path="res://.godot/imported/火苗.png-74a173b6d4d812540032ac5b516402ae.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/火苗.png" -dest_files=["res://.godot/imported/火苗.png-74a173b6d4d812540032ac5b516402ae.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/scene/c02/火灾/药车.png b/asset/art/scene/c02/火灾/药车.png deleted file mode 100644 index 14fcd616..00000000 Binary files a/asset/art/scene/c02/火灾/药车.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/药车.png.import b/asset/art/scene/c02/火灾/药车.png.import deleted file mode 100644 index b9ecea8e..00000000 --- a/asset/art/scene/c02/火灾/药车.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bbtgsle1b6r3h" -path="res://.godot/imported/药车.png-0c96532f35d2449ce0c6bf12c33055bd.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/药车.png" -dest_files=["res://.godot/imported/药车.png-0c96532f35d2449ce0c6bf12c33055bd.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/scene/c02/火灾/黄色背景烟.png b/asset/art/scene/c02/火灾/黄色背景烟.png deleted file mode 100644 index 236896b9..00000000 Binary files a/asset/art/scene/c02/火灾/黄色背景烟.png and /dev/null differ diff --git a/asset/art/scene/c02/火灾/黄色背景烟.png.import b/asset/art/scene/c02/火灾/黄色背景烟.png.import deleted file mode 100644 index 3c67adf7..00000000 --- a/asset/art/scene/c02/火灾/黄色背景烟.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://car54as8b1vwo" -path="res://.godot/imported/黄色背景烟.png-431d2a6c33fdf389499fb4a6c740cd06.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/火灾/黄色背景烟.png" -dest_files=["res://.godot/imported/黄色背景烟.png-431d2a6c33fdf389499fb4a6c740cd06.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/scene/c02/空房间加裂缝红绳4.20.png b/asset/art/scene/c02/空房间加裂缝红绳4.20.png deleted file mode 100644 index 027dbb39..00000000 Binary files a/asset/art/scene/c02/空房间加裂缝红绳4.20.png and /dev/null differ diff --git a/asset/art/scene/c02/空房间加裂缝红绳4.20.png.import b/asset/art/scene/c02/空房间加裂缝红绳4.20.png.import deleted file mode 100644 index 52c7b786..00000000 --- a/asset/art/scene/c02/空房间加裂缝红绳4.20.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dybnw1hjwuna" -path="res://.godot/imported/空房间加裂缝红绳4.20.png-f3665bdc31855e02bbab3d3cb76cda2a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/scene/c02/空房间加裂缝红绳4.20.png" -dest_files=["res://.godot/imported/空房间加裂缝红绳4.20.png-f3665bdc31855e02bbab3d3cb76cda2a.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/action_mark/探索空心ui.png b/asset/art/ui/action_mark/探索空心ui.png deleted file mode 100755 index 8594e319..00000000 Binary files a/asset/art/ui/action_mark/探索空心ui.png and /dev/null differ diff --git a/asset/art/ui/action_mark/探索空心ui.png.import b/asset/art/ui/action_mark/探索空心ui.png.import deleted file mode 100644 index 5e04a9c5..00000000 --- a/asset/art/ui/action_mark/探索空心ui.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ck43i3nulbmpm" -path="res://.godot/imported/探索空心ui.png-fa99c8e3e995614598deb7bf022f7160.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://asset/art/ui/action_mark/探索空心ui.png" -dest_files=["res://.godot/imported/探索空心ui.png-fa99c8e3e995614598deb7bf022f7160.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/manager/audio_manager/audio_test.gd b/asset/audio/audio_test.gd similarity index 100% rename from manager/audio_manager/audio_test.gd rename to asset/audio/audio_test.gd diff --git a/manager/audio_manager/audio_test.gd.uid b/asset/audio/audio_test.gd.uid similarity index 100% rename from manager/audio_manager/audio_test.gd.uid rename to asset/audio/audio_test.gd.uid diff --git a/manager/audio_manager/audio_test.tscn b/asset/audio/audio_test.tscn similarity index 93% rename from manager/audio_manager/audio_test.tscn rename to asset/audio/audio_test.tscn index 1f67afb0..d6ab472b 100644 --- a/manager/audio_manager/audio_test.tscn +++ b/asset/audio/audio_test.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://c27utrrbubglt"] -[ext_resource type="Script" uid="uid://1rtcvr1o5cy1" path="res://manager/audio_manager/audio_test.gd" id="1_csy6t"] +[ext_resource type="Script" uid="uid://1rtcvr1o5cy1" path="res://asset/audio/audio_test.gd" id="1_csy6t"] [node name="AudioTestPanel" type="CanvasLayer"] script = ExtResource("1_csy6t") diff --git a/asset/dialogue/c01.dialogue b/asset/dialogue/c01.dialogue index b9458a1c..ba1df700 100644 --- a/asset/dialogue/c01.dialogue +++ b/asset/dialogue/c01.dialogue @@ -29,12 +29,12 @@ => END ~ c01_s06_四个小孩画鬼差的对话 -胖小孩: 画完了没有?你小子咋比秤砣还沉! -残疾小孩: 快了、快了。 -跟班甲: 这是个啥?黑乎乎的,旁边还有两朵花。 -残疾小孩: 非也,非也。谁规定神仙不能长成这样的? -胖小孩: 呸,神仙要是真长得这么丑,老子以后都倒立撒尿! -跟班乙: 嘶,总觉得好像在哪见过... +胖小孩: 画完了没有?你小子咋比秤砣还沉! [ID:c01_s06_四个小孩画鬼差的对话1] +残疾小孩: 快了、快了。 [ID:c01_s06_四个小孩画鬼差的对话2] +跟班甲: 这是个啥?黑乎乎的,旁边还有两朵花。 [ID:c01_s06_四个小孩画鬼差的对话3] +残疾小孩: 非也,非也。谁规定神仙不能长成这样的? [ID:c01_s06_四个小孩画鬼差的对话4] +胖小孩: 呸,神仙要是真长得这么丑,老子以后都倒立撒尿! [ID:c01_s06_四个小孩画鬼差的对话5] +跟班乙: 嘶,总觉得好像在哪见过... [ID:c01_s06_四个小孩画鬼差的对话6] => END ~ c01_s06_四个小孩_对话1 diff --git a/asset/dialogue/c02.csv b/asset/dialogue/c02.csv index e4cab51d..c0dcd01b 100644 --- a/asset/dialogue/c02.csv +++ b/asset/dialogue/c02.csv @@ -11,6 +11,11 @@ c02_李氏王赖子_耗子精10,“好了,其他的回去讲”,,王癞子,,[# (小蝉说话),(小蝉说话),,,, (胖子、瞎子来打断),(胖子、瞎子来打断),,,, (告别),(告别),,,, +(你知道规则吗?),(你知道规则吗?),,,, +(),(),,,, +(这不可能!),(这不可能!),,,, +(游戏开始咯),(游戏开始咯),,,, +[wave amp=20.0 freq=5.0][shake rate=10.0 level=3] 把弹珠拿出来 [/wave][/shake],[wave amp=20.0 freq=5.0][shake rate=10.0 level=3] 把弹珠拿出来 [/wave][/shake],,,, c02_吕萍_天暗,“天色变暗了”,,吕萍,, c02_吕萍_井旁01,“这么冷的天,怎么这树的叶子还这么茂盛”,,吕萍,,[#wait=3] c02_吕萍_井旁音效,...,,,,[#wait=2] @@ -124,17 +129,20 @@ c02_李氏王赖子_耗子精02,“(敲门游戏线索)”,,王癞子,,[#anonymo (...),(...),,小蝉,, c02_s03_敲门游戏,“(示例)理发上楼,看病上楼”,,???,, (让玩家去寻找弹珠),(让玩家去寻找弹珠),,,, -(游戏开始咯),(游戏开始咯),,,, (这不是我们说的弹珠),(这不是我们说的弹珠),,,, -(你知道规则吗?),(你知道规则吗?),,,, -(),(),,,, -(这不可能!),(这不可能!),,,, +把弹珠拿出来,把弹珠拿出来,,,, +你、你绝对不是第一次玩弹珠,你、你绝对不是第一次玩弹珠,,,, +这不可能...再来一次!,这不可能...再来一次!,,,, +我没输...你骗人!,我没输...你骗人!,,,, +这不可能!不不不...,这不可能!不不不...,,,, +我还有很多弹珠,玩到我赢为止!,我还有很多弹珠,玩到我赢为止!,,,, +碰到边界你就输了!,碰到边界你就输了!,,,, (井边疯子对话),(井边疯子对话),,,, (歌谣),(歌谣),,,, (霸凌对话.),(霸凌对话.),,,, (霸凌对话..),(霸凌对话..),,,, (霸凌对话...),(霸凌对话...),,,, c02_吕萍_玩具发光,“嗯?玩具在发光”,,吕萍,, -c02_s11_谢幕交谈1,(小蝉说话),,,, -c02_s11_谢幕交谈2,(胖子 瞎子来打断),,,, -c02_s11_谢幕交谈3,(告别),,,, +c02_s11_谢幕交谈1,(小蝉说话),,?,, +c02_s11_谢幕交谈2,(胖子 瞎子来打断),,?,, +c02_s11_谢幕交谈3,(告别),,?,, diff --git a/asset/dialogue/c02.dialogue b/asset/dialogue/c02.dialogue index a0d7ebd0..f1865b5a 100644 --- a/asset/dialogue/c02.dialogue +++ b/asset/dialogue/c02.dialogue @@ -299,31 +299,43 @@ (让玩家去寻找弹珠) => END -# 开始游戏 -~ c02_s05_三男孩弹珠游戏2 -(游戏开始咯) -=> END # 无法游戏 -~ c02_s05_三男孩弹珠游戏3 +~ c02_s05_三男孩弹珠游戏2 (这不是我们说的弹珠) => END +# 游戏intro +~ c02_弹珠游戏0 +把弹珠拿出来 +=> END! + # 游戏阶段1 ~ c02_弹珠游戏1 -(你知道规则吗?) +你、你绝对不是第一次玩弹珠 => END # 游戏阶段2 ~ c02_弹珠游戏2 -() +这不可能...再来一次! => END -# 游戏阶段5 -~ c02_弹珠游戏5 -(这不可能!) +# 游戏阶段3 +~ c02_弹珠游戏3 +我没输...你骗人! +这不可能!不不不... => END +# 游戏尾声 +~ c02_弹珠游戏4 +我还有很多弹珠,玩到我赢为止! +=> END + +# 游戏失败 +~ c02_弹珠游戏fail +碰到边界你就输了! +=> END! + ~ c02_s11_井边疯子对话 (井边疯子对话) => END diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index 6aab2547..d64e7fb4 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -162,40 +162,4 @@ 没时间浪费了!想想办法救出小蝉... [ID:c02_点火前阻止右移] -绳子和剪刀 [ID:c02_绳子剪刀] -这个玩具缺了个脑袋 [ID:c02_玩具缺脑袋] -又是那张寻人启示 [ID:c02_又是寻人启示] -墙上的海报被撕掉了 [ID:c02_墙上的海报被撕掉了] -井里有一股臭味 [ID:c02_井臭] -车上放了一些中药材 [ID:c02_中药材] -排队的人堵住了上楼的路 [ID:c02_排队] -最好还是先不要出去 [ID:c02_不要出去] -太阳快落山了 [ID:c02_太阳] -民国六年十月十五日 [ID:c02_民国六年1015] -一个洞,里面好像还有空间 [ID:c02_一个洞] -工具箱 [ID:c02_工具箱] -应该能找到有用的东西 [ID:c02_找到有用的东西] -公寓告示 [ID:c02_公寓告示] -通往里间的门 [ID:c02_通往里间的门] -花名册 [ID:c02_花名册] -罪 [ID:c02_罪] -门上有什么东西 [ID:c02_门上有什么东西] -奠 [ID:c02_奠] -失踪的小孩名叫夏小蝉 [ID:c02_寻夏小蝉] -小猫的尸体已经干了 [ID:c02_小猫干尸] -几块大洋 [ID:c02_几块大洋] -死掉的老鼠 [ID:c02_死老鼠] -石缝里开了几束花 [ID:c02_石缝开花] -石壁另一头好像还有空间 [ID:c02_石壁空间] -民国六年十二月二十一日 [ID:c02_民国六年1221] -一些患者的感谢信 [ID:c02_患者感谢信] -一本被撕掉的书 [ID:c02_被撕掉的书] -里面有什么东西 [ID:c02_里面有什么东西] -戏台上面刻了一首诗 [ID:c02_戏台上的诗] -锁开了 [ID:c02_锁开了] -口袋里有东西 [ID:c02_口袋里有东西] -雾太大了,看不清路 [ID:c02_雾太大] -是个八音盒 [ID:c02_八音盒] -祝女儿早日康复 [ID:c02_祝女儿早日康复] -这图案和我手臂上的一摸一样 [ID:c02_图案一样] => END diff --git a/project.godot b/project.godot index 085498ee..dbf50273 100644 --- a/project.godot +++ b/project.godot @@ -176,6 +176,11 @@ bag={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":66,"key_label":0,"unicode":98,"location":0,"echo":false,"script":null) ] } +space={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +] +} [internationalization] diff --git a/scene/entity/portal.tscn b/scene/entity/portal.tscn index 109ec831..3c173673 100644 --- a/scene/entity/portal.tscn +++ b/scene/entity/portal.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=14 format=3 uid="uid://61pis75a8fdq"] +[gd_scene load_steps=13 format=3 uid="uid://61pis75a8fdq"] [ext_resource type="Script" uid="uid://b2dvvhawm820r" path="res://scene/entity/portal.gd" id="1_jyh6v"] -[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="2_1sj6c"] [ext_resource type="Texture2D" uid="uid://bc4lpa8aao60n" path="res://asset/art/ui/action_mark/传送.png" id="2_ay30q"] [ext_resource type="Texture2D" uid="uid://r0n7qy4kr3w2" path="res://asset/art/ui/action_mark/UI场景切换.png" id="2_bxihn"] [ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="2_fr7ak"] @@ -55,7 +54,7 @@ enabled = false [node name="Sprite2D" parent="Sign/TextureContainer" index="0"] position = Vector2(0, 10) -texture = ExtResource("2_1sj6c") +texture = ExtResource("2_bxihn") [node name="PointLight2D" type="PointLight2D" parent="."] unique_name_in_owner = true diff --git a/scene/ground/scene/c02/s03_animation.gd b/scene/ground/scene/c02/s03_animation.gd index 9e708f0d..1fd90102 100644 --- a/scene/ground/scene/c02/s03_animation.gd +++ b/scene/ground/scene/c02/s03_animation.gd @@ -54,10 +54,10 @@ func _on_ground_ready() -> void: counter.visible = false madman_ambush = $"../DeployLayer/Ambush井边疯子" - # c02_madman_hitwall 之后, c02_ball_game_stage==2(游戏结束) 之前 + # c02_madman_hitwall 之后, c02_ball_game_stage==3(游戏结束) 之前 if ( ArchiveManager.get_global_value("c02_madman_hitwall") - and ArchiveManager.get_global_value("c02_ball_game_stage", 0) < 2 + and ArchiveManager.get_global_value("c02_ball_game_stage", 0) < 3 ): madman_ambush.visible = true madman_ambush.enabled = true @@ -66,7 +66,7 @@ func _on_ground_ready() -> void: bully_layer = $"../DeployLayer/霸凌" burning_layer = $"../DeployLayer/火灾" - if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 2: + if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 3: _setup_bully_or_burning() small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D diff --git a/scene/ground/scene/c02/s06_animation.gd b/scene/ground/scene/c02/s06_animation.gd index 0f592a18..bc109dd2 100644 --- a/scene/ground/scene/c02/s06_animation.gd +++ b/scene/ground/scene/c02/s06_animation.gd @@ -31,10 +31,10 @@ func _on_ground_ready() -> void: closeup_ball = $"../DeployLayer/Closeup弹珠游戏" as Closeup2D ball_game_boys_ambush = $"../DeployLayer/Ambush三男孩" - # 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束 + # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束 if ( ArchiveManager.get_global_value("c02_the_blind_room_entered", false) - and ArchiveManager.get_global_value("c02_ball_game_stage", 0) < 2 + and ArchiveManager.get_global_value("c02_ball_game_stage", 0) < 3 ): # 进入瞎子卧室后,可开始弹珠游戏 ball_game_boys_ambush.enabled = true @@ -72,7 +72,7 @@ func _on_mice_hole_interacted(): func boys_ball_game() -> void: - # 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束 + # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束 var stage = ArchiveManager.get_global_value("c02_ball_game_stage", 0) if stage == 0: ArchiveManager.set_global_entry("c02_ball_game_stage", 1) @@ -81,24 +81,19 @@ func boys_ball_game() -> void: DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏1") await DialogueManager.dialogue_ended SceneManager.release_player() - elif stage == 1: - var start_game = false + elif stage == 1 or stage == 2: SceneManager.freeze_player(0) - if SceneManager.get_current_prop(false) != "prop_弹珠": - DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏3") + if stage == 1 and SceneManager.get_current_prop(false) != "prop_弹珠": var hud = SceneManager.get_prop_hud() as PropHud hud.on_toggle_invalid_prop() - else: - # 开始弹珠游戏 - start_game = true DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏2") - await DialogueManager.dialogue_ended - SceneManager.release_player() - if start_game: + await DialogueManager.dialogue_ended + else: # 进入弹珠游戏 closeup_ball.exit.connect(_on_ball_game_exit) closeup_ball.display() # closeup_ball.enabled = false + SceneManager.release_player() func _on_ball_game_exit(success = null): diff --git a/scene/ground/scene/c02/s06_二楼.tscn b/scene/ground/scene/c02/s06_二楼.tscn index 94ee15f1..17b12dc9 100644 --- a/scene/ground/scene/c02/s06_二楼.tscn +++ b/scene/ground/scene/c02/s06_二楼.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=3 uid="uid://cootarwb44vvh"] +[gd_scene load_steps=24 format=3 uid="uid://cootarwb44vvh"] [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"] @@ -17,6 +17,7 @@ [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://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/frames.tres" id="15_k01ve"] +[ext_resource type="PackedScene" uid="uid://trkypc4gox20" path="res://scene/ground/script/c02/水盆特写.tscn" id="16_p6da7"] [sub_resource type="Animation" id="Animation_k01ve"] length = 0.001 @@ -301,6 +302,7 @@ position = Vector2(167, 38) enabled = false trigger_mode = "interact" one_shot = false +freeze_time = 0.1 hook_method = "boys_ball_game" [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush三男孩"] @@ -312,10 +314,14 @@ frame = 6 frame_progress = 0.121203 [node name="Closeup弹珠游戏" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_owxx3")] -position = Vector2(1260, 2) +position = Vector2(136, -319) packed_scene = ExtResource("12_intre") -[node name="c02_final" type="Node2D" parent="Ground/DeployLayer" index="11"] +[node name="Closeup水盆" parent="Ground/DeployLayer" index="11" instance=ExtResource("11_owxx3")] +position = Vector2(289, 16) +packed_scene = ExtResource("16_p6da7") + +[node name="c02_final" type="Node2D" parent="Ground/DeployLayer" index="12"] visible = false [node name="胖子" type="AnimatedSprite2D" parent="Ground/DeployLayer/c02_final"] diff --git a/scene/ground/script/c02/小手讨东西.tscn b/scene/ground/script/c02/小手讨东西.tscn index c3305b04..74850be6 100644 --- a/scene/ground/script/c02/小手讨东西.tscn +++ b/scene/ground/script/c02/小手讨东西.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=16 format=3 uid="uid://xovlfee503a4"] -[ext_resource type="Texture2D" uid="uid://cawpq7rnho5px" path="res://asset/art/scene/c02/小手/洞.png" id="1_47cqy"] +[ext_resource type="Texture2D" uid="uid://cawpq7rnho5px" path="res://asset/art/gif/c02_小手/洞.png" id="1_47cqy"] [ext_resource type="Script" uid="uid://my5xqi3bkka6" path="res://scene/ground/script/c02/小手讨东西.gd" id="1_n7thl"] [ext_resource type="PackedScene" uid="uid://c85t6stvytvjn" path="res://scene/entity/general/sfx.tscn" id="2_40dr6"] [ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="3_lr23o"] diff --git a/scene/ground/script/c02/水盆特写.tscn b/scene/ground/script/c02/水盆特写.tscn new file mode 100644 index 00000000..beba8948 --- /dev/null +++ b/scene/ground/script/c02/水盆特写.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://trkypc4gox20"] + +[ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/ground/script/c02/通用特写脚本.gd" id="1_rdtwt"] +[ext_resource type="Texture2D" uid="uid://oiswtv7jqcqy" path="res://asset/art/scene/c02/s06_二楼楼道/水盆特写.png" id="2_h4mql"] + +[node name="水盆特写" type="CanvasLayer"] +script = ExtResource("1_rdtwt") + +[node name="TextureRect" type="TextureRect" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_h4mql") +expand_mode = 5 +stretch_mode = 5 diff --git a/scene/ground/script/c02/老鼠精画像.gd b/scene/ground/script/c02/老鼠精画像.gd deleted file mode 100644 index 9941dea5..00000000 --- a/scene/ground/script/c02/老鼠精画像.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends CanvasLayer - -signal exit(success: bool) - -# @onready var button = $TextureButton as TextureButton - -# var texture_dict = { -# "0": preload("res://asset/art/scene/c02/s04_保卫科/花名册/花名册封皮.png"), -# "1": preload("res://asset/art/scene/c02/s04_保卫科/花名册/翻开页.png"), -# } - -# var current_texture = 0 - -func _ready() -> void: - layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME -# button.pressed.connect(_on_button_pressed) - - -# func _on_button_pressed() -> void: -# current_texture = wrapi(current_texture + 1, 0, 2) -# button.texture_normal = texture_dict[str(current_texture)] -# button.set_anchors_preset(Control.PRESET_CENTER) diff --git a/scene/ground/script/c02/老鼠精画像.tscn b/scene/ground/script/c02/老鼠精画像.tscn index ec0e3ea2..30be63dc 100644 --- a/scene/ground/script/c02/老鼠精画像.tscn +++ b/scene/ground/script/c02/老鼠精画像.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://cdf2qe8l7323i"] -[ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/ground/script/c02/老鼠精画像.gd" id="1_lpmq3"] +[ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/ground/script/c02/通用特写脚本.gd" id="1_lpmq3"] [ext_resource type="Texture2D" uid="uid://cypvxj1vsl5yk" path="res://asset/art/scene/c02/s04_保卫科/花名册/bg_花名册桌面.png" id="2_l77sh"] [ext_resource type="Texture2D" uid="uid://sx3i3lkt2vfd" path="res://asset/art/scene/c02/s04_保卫科/花名册/花名册封皮.png" id="3_sdpps"] diff --git a/scene/ground/script/c02/通用特写脚本.gd b/scene/ground/script/c02/通用特写脚本.gd new file mode 100644 index 00000000..6f16d92d --- /dev/null +++ b/scene/ground/script/c02/通用特写脚本.gd @@ -0,0 +1,6 @@ +extends CanvasLayer + +signal exit(success: bool) + +func _ready() -> void: + layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME \ No newline at end of file diff --git a/scene/ground/script/c02/老鼠精画像.gd.uid b/scene/ground/script/c02/通用特写脚本.gd.uid similarity index 100% rename from scene/ground/script/c02/老鼠精画像.gd.uid rename to scene/ground/script/c02/通用特写脚本.gd.uid diff --git a/scene/little_game/弹珠游戏/ball.gd b/scene/little_game/弹珠游戏/ball.gd index 2f5a188e..7556b0a5 100644 --- a/scene/little_game/弹珠游戏/ball.gd +++ b/scene/little_game/弹珠游戏/ball.gd @@ -5,7 +5,7 @@ extends RigidBody2D signal hit_ball signal hit_boundary -@export_enum("1", "2", "3") var id := "1": +@export_enum("1", "2", "3", "4", "5", "6", "7") var id := "1": set(value): id = value if Engine.is_editor_hint() and is_node_ready(): @@ -35,12 +35,32 @@ const texture_dict = { func _ready() -> void: + if is_shooter: + linear_damp = 0 contact_monitor = true max_contacts_reported = 1 _set_up_texture() body_entered.connect(_on_body_entered) +func dispatch(origin_pos: Vector2): + visible = true + modulate.a = 0.3 + var target_pos = position + position = origin_pos + collision_shape.disabled = true + var tween = create_tween() + tween.tween_property(self, "modulate:a", 1.0, 0.4) + tween.parallel().tween_property(self, "rotation", 4.0, 0.8).set_ease(Tween.EASE_IN_OUT) + tween.parallel().tween_property(self, "position", target_pos, 0.8).set_ease(Tween.EASE_IN_OUT) + tween.tween_callback(func(): collision_shape.disabled = false) + + +func hide_away(): + visible = false + collision_shape.disabled = true + + func rand_id(): # 随机 id var rand = randi() % 3 + 1 @@ -56,7 +76,8 @@ var recycling = false func _on_body_entered(node: Node): - print("hit node", node.get_path()) + if GlobalConfig.DEBUG: + print("[debug] hit node", node.get_path()) if recycling or not is_shooter: return recycling = true diff --git a/scene/little_game/弹珠游戏/ball.tscn b/scene/little_game/弹珠游戏/ball.tscn index 930035d1..8891f7b9 100644 --- a/scene/little_game/弹珠游戏/ball.tscn +++ b/scene/little_game/弹珠游戏/ball.tscn @@ -19,6 +19,7 @@ collision_mask = 128 gravity_scale = 0.0 contact_monitor = true max_contacts_reported = 1 +linear_damp = 5.0 script = ExtResource("2_ni48t") id = "2" diff --git a/scene/little_game/弹珠游戏/balls.gd b/scene/little_game/弹珠游戏/balls.gd new file mode 100644 index 00000000..b2e49227 --- /dev/null +++ b/scene/little_game/弹珠游戏/balls.gd @@ -0,0 +1,7 @@ +extends Node2D + +func _ready() -> void: + if Engine.is_editor_hint(): + return + for b in get_children(): + b.add_to_group(name) \ No newline at end of file diff --git a/scene/little_game/弹珠游戏/balls.gd.uid b/scene/little_game/弹珠游戏/balls.gd.uid new file mode 100644 index 00000000..754d9b06 --- /dev/null +++ b/scene/little_game/弹珠游戏/balls.gd.uid @@ -0,0 +1 @@ +uid://b4c1x33s0w2mm diff --git a/scene/little_game/弹珠游戏/balls_0.tscn b/scene/little_game/弹珠游戏/balls_0.tscn new file mode 100644 index 00000000..1a42c9f8 --- /dev/null +++ b/scene/little_game/弹珠游戏/balls_0.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=3 uid="uid://d0tuv2dtlosfe"] + +[ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="1_1yk24"] +[ext_resource type="Script" uid="uid://b4c1x33s0w2mm" path="res://scene/little_game/弹珠游戏/balls.gd" id="1_1yw0s"] + +[node name="Balls0" type="Node2D"] +y_sort_enabled = true +script = ExtResource("1_1yw0s") + +[node name="Ball" parent="." instance=ExtResource("1_1yk24")] +y_sort_enabled = true +position = Vector2(281, 149) +scale = Vector2(1.185, 1.185) +collision_layer = 132 +id = "3" diff --git a/scene/little_game/弹珠游戏/balls_1.tscn b/scene/little_game/弹珠游戏/balls_1.tscn new file mode 100644 index 00000000..72f53a2d --- /dev/null +++ b/scene/little_game/弹珠游戏/balls_1.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=3 format=3 uid="uid://cv12saxinfoi7"] + +[ext_resource type="Script" uid="uid://b4c1x33s0w2mm" path="res://scene/little_game/弹珠游戏/balls.gd" id="1_7ej7k"] +[ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="1_a2gi7"] + +[node name="Balls1" type="Node2D"] +y_sort_enabled = true +script = ExtResource("1_7ej7k") + +[node name="Ball" parent="." instance=ExtResource("1_a2gi7")] +y_sort_enabled = true +position = Vector2(266, 107) +scale = Vector2(1.185, 1.185) +collision_layer = 132 + +[node name="Ball2" parent="." instance=ExtResource("1_a2gi7")] +y_sort_enabled = true +position = Vector2(342, 120) +scale = Vector2(1.2175, 1.2175) +collision_layer = 132 +id = "3" + +[node name="Ball3" parent="." instance=ExtResource("1_a2gi7")] +y_sort_enabled = true +position = Vector2(217, 158) +scale = Vector2(1.2275, 1.2275) +collision_layer = 132 +id = "1" diff --git a/scene/little_game/弹珠游戏/balls_2.tscn b/scene/little_game/弹珠游戏/balls_2.tscn new file mode 100644 index 00000000..d51b7b4d --- /dev/null +++ b/scene/little_game/弹珠游戏/balls_2.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=3 format=3 uid="uid://dr0rwr0xjgnjw"] + +[ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="1_capi7"] +[ext_resource type="Script" uid="uid://b4c1x33s0w2mm" path="res://scene/little_game/弹珠游戏/balls.gd" id="1_qtgyt"] + +[node name="Balls2" type="Node2D"] +y_sort_enabled = true +script = ExtResource("1_qtgyt") + +[node name="Ball" parent="." instance=ExtResource("1_capi7")] +y_sort_enabled = true +position = Vector2(353, 122) +scale = Vector2(1.185, 1.185) +collision_layer = 132 +id = "1" + +[node name="Ball2" parent="." instance=ExtResource("1_capi7")] +y_sort_enabled = true +position = Vector2(417, 119) +scale = Vector2(1.2175, 1.2175) +collision_layer = 132 + +[node name="Ball3" parent="." instance=ExtResource("1_capi7")] +y_sort_enabled = true +position = Vector2(129, 129) +scale = Vector2(1.2275, 1.2275) +collision_layer = 132 +id = "3" + +[node name="Ball4" parent="." instance=ExtResource("1_capi7")] +y_sort_enabled = true +position = Vector2(206, 92) +scale = Vector2(1.2175, 1.2175) +collision_layer = 132 +id = "4" + +[node name="Ball6" parent="." instance=ExtResource("1_capi7")] +y_sort_enabled = true +position = Vector2(323, 89) +scale = Vector2(1.2275, 1.2275) +collision_layer = 132 +id = "6" diff --git a/scene/little_game/弹珠游戏/弹珠游戏.gd b/scene/little_game/弹珠游戏/弹珠游戏.gd index 99c91fe0..6aeb3955 100644 --- a/scene/little_game/弹珠游戏/弹珠游戏.gd +++ b/scene/little_game/弹珠游戏/弹珠游戏.gd @@ -2,33 +2,132 @@ extends CanvasLayer signal exit(success) +@onready var animation_player = $AnimationPlayer as AnimationPlayer @onready var pivot = $Pivot as Node2D @onready var hand_pivot = $Pivot/HandPivot as Node2D +@onready var audio_player = %AudioStreamPlayer as AudioStreamPlayer +@onready var label = %RichTextLabel as RichTextLabel var dialogue_c02 = preload("res://asset/dialogue/c02.dialogue") +var balls_scene_dict = { + 0: preload("uid://d0tuv2dtlosfe"), + 1: preload("uid://cv12saxinfoi7"), + 2: preload("uid://dr0rwr0xjgnjw"), +} + 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(0) + # checkout_round(2) + else: + intro() + label.hide() + + +func intro(): + round_id = -1 + # 关闭所有碰撞 + for i in range(3): + var balls_name = "Balls" + str(i) + get_node(balls_name).visible = false + get_tree().call_group(balls_name, "hide_away") + pivot.get_child(0).modulate.a = 0 + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏0") + await dialogue_ended + + +func intro_finished(): + SceneManager.disable_prop_item("prop_弹珠") + # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束 + # 放入弹珠,开始游戏 + ArchiveManager.set_global_entry("c02_ball_game_stage", 2) + var ball = pivot.get_child(0) as RigidBody2D + ball.angular_velocity = 20 + animation_player.play("give_ball") + await animation_player.animation_finished + # 开始弹珠游戏 + checkout_round(0) + + +var round_ready = false +var round_id := 0 #-1:intro; 0, 1, 2 +var hit_count = 0 +var shooting = false + + +func checkout_round(r: int): + round_id = r + # 关闭所有碰撞 + for i in range(3): + var balls_name = "Balls" + str(i) + get_node(balls_name).visible = false + get_tree().call_group(balls_name, "hide_away") + reload_round() + + +# 重置当前回合 introduce:是否播放回合 dialogue +func reload_round(): + # 重置参数 + round_ready = false + hit_count = 0 + hand_pivot.modulate.a = 0 + + # 重新加载 balls + var balls_name = "Balls" + str(round_id) + var old_balls = get_node(balls_name) + remove_child(old_balls) + old_balls.queue_free() + var new_balls = balls_scene_dict[round_id].instantiate() + new_balls.name = balls_name + add_child(new_balls) + new_balls.z_index = 2 + get_tree().call_group(balls_name, "hide_away") + + # 分散 balls + animation_player.play("dispatch_balls") + await animation_player.animation_finished + + # 加载手中的球 + reload_hand_ball() wave_hand() - DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_弹珠游戏1") + round_ready = true -func reload() -> void: +func do_dispatch_balls(): + var balls_name = "Balls" + str(round_id) + get_tree().call_group(balls_name, "dispatch", Vector2(296.0, 102.0)) + + +func reload_hand_ball() -> void: + shooting = false # 重新加载 var ball_scene = preload("res://scene/little_game/弹珠游戏/ball.tscn") var ball = ball_scene.instantiate() ball.is_shooter = true + var old_ball = pivot.get_node_or_null("Ball") + if old_ball: + pivot.remove_child(old_ball) + old_ball.queue_free() pivot.add_child(ball) pivot.move_child(ball, 0) - ball.rand_id() + ball.name = "Ball" + # ball.rand_id() + ball.hit_ball.connect(_on_hit_ball) + ball.hit_boundary.connect(_on_hit_boundary) var wave_tween: Tween -var shooting = false func wave_hand() -> void: + hand_pivot.visible = true + if hand_pivot.modulate.a < 1: + create_tween().tween_property(hand_pivot, "modulate:a", 1.0, 0.5) # 转动 pivot if wave_tween: if not wave_tween.is_running(): @@ -63,8 +162,9 @@ func wave_hand() -> void: wave_tween.set_loops(9999999) +# interact(E) 与 spacebar 都可以 shoot func shoot() -> void: - if shooting: + if not round_ready or shooting or round_id < 0: return shooting = true # 触发射击事件 @@ -74,44 +174,120 @@ func shoot() -> void: var direction = Vector2(0, -1).rotated(hand_pivot.rotation) ball.linear_velocity = direction * 200 ball.angular_velocity = 20.0 - ball.hit_ball.connect(_on_hit_ball) - ball.hit_boundary.connect(_on_hit_boundary) - - -var hit_count = 0 + create_tween().tween_property(hand_pivot, "modulate:a", 0.0, 0.5) func _on_hit_ball(): print("_on_hit_ball") - reload() - wave_hand() - shooting = false + reload_hand_ball() hit_count += 1 - if hit_count >= 2: - # 触发游戏结束 - print("round 1 game over") - hit_count = 0 + if round_id == 0: + round_ready = false + _success_dialogue() + await dialogue_ended + checkout_round(1) + elif round_id == 1 and hit_count >= 3: + round_ready = false + _success_dialogue() + await dialogue_ended + checkout_round(2) + elif round_id == 2 and hit_count >= 5: + round_ready = false + await dialogue_ended game_over() + else: + wave_hand() + shooting = false + + +func _success_dialogue(): + match round_id: + 0: + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏1") + 1: + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏2") + 2: + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏3") func _on_hit_boundary(): - # 重开游戏 - print("hit boundary, restart") - reload() - wave_hand() + if round_id > 0: + # 后面的回合必须每次都击中球 + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏fail") + await dialogue_ended + reload_round() + else: + reload_hand_ball() + wave_hand() shooting = false +func game_over() -> void: + #TODO 弹珠雨 + DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏4") + await dialogue_ended + + exit.emit(true) + # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束 + ArchiveManager.set_global_entry("c02_ball_game_stage", 3) + SceneManager.disable_prop_item("prop_弹珠") + SceneManager.pop_debug_dialog_info("弹珠", "游戏关卡待完善") + + func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("interact"): - shoot() + if round_id == -1: + # intro 阶段,给出弹珠 + var hud = SceneManager.get_prop_hud() as PropHud + if SceneManager.get_current_prop(false) != "prop_弹珠": + hud.on_toggle_invalid_prop() + else: + intro_finished() + else: + shoot() + get_viewport().set_input_as_handled() + elif event.is_action_pressed("space"): + if round_id >= 0: + shoot() get_viewport().set_input_as_handled() -func game_over() -> void: - exit.emit(true) - # 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束 - ArchiveManager.set_global_entry("c02_ball_game_stage", 2) - SceneManager.disable_prop_item("prop_弹珠") - SceneManager.pop_debug_dialog_info("弹珠", "游戏关卡待完善") - DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_弹珠游戏5") +signal dialogue_ended + +## The current line +var dialogue_line: DialogueLine: + set(value): + if value: + dialogue_line = value + apply_dialogue_line() + get: + return dialogue_line + + +func start( + dialogue_resource: DialogueResource, title: String, extra_game_states: Array = [] +) -> void: + var temporary_game_states = [self] + extra_game_states + self.dialogue_line = await dialogue_resource.get_next_dialogue_line( + title, temporary_game_states + ) + + +## Apply any changes to the balloon given a new [DialogueLine]. +func apply_dialogue_line() -> void: + var translation_key = dialogue_line.translation_key + label.text = ("[wave amp=20.0 freq=5.0][shake rate=10.0 level=3] " + tr(translation_key)) + label.show() + # 因为版权问题,有些 mp3 文件打不开,所以使用 ogg 格式 + var audio_path = "res://asset/audio/peiyin/ogg/%s.ogg" % translation_key + if FileAccess.file_exists(audio_path): + var stream = load(audio_path) + audio_player.stream = stream + audio_player.play() + await audio_player.finished + await get_tree().create_timer(1.0).timeout + else: + push_warning("No audio file found for " + translation_key) + await get_tree().create_timer(3.0).timeout + label.hide() + dialogue_ended.emit() diff --git a/scene/little_game/弹珠游戏/弹珠游戏.tscn b/scene/little_game/弹珠游戏/弹珠游戏.tscn index 989708ab..5062c0ea 100644 --- a/scene/little_game/弹珠游戏/弹珠游戏.tscn +++ b/scene/little_game/弹珠游戏/弹珠游戏.tscn @@ -1,9 +1,229 @@ -[gd_scene load_steps=6 format=3 uid="uid://cjx7o685ox8c1"] +[gd_scene load_steps=17 format=3 uid="uid://cjx7o685ox8c1"] [ext_resource type="Script" uid="uid://c5s4giu182isu" path="res://scene/little_game/弹珠游戏/弹珠游戏.gd" id="1_p2trd"] [ext_resource type="Texture2D" uid="uid://bvf8b057baglw" path="res://asset/art/little_game/弹珠/bg_弹珠游戏.png" id="2_bm1k0"] +[ext_resource type="Texture2D" uid="uid://bs4tp4amd1kkm" path="res://asset/art/little_game/弹珠/抱手.png" id="3_3kvx4"] [ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="4_bm1k0"] +[ext_resource type="Texture2D" uid="uid://btplp6xvmc6sx" path="res://asset/art/little_game/弹珠/手屈伸/0.png" id="4_fk3jp"] [ext_resource type="Texture2D" uid="uid://cny2ovcg2ry7c" path="res://asset/art/little_game/弹珠/瞄准线.png" id="4_plt4v"] +[ext_resource type="Texture2D" uid="uid://jv6fjt5fa68l" path="res://asset/art/little_game/弹珠/手屈伸/1.png" id="5_dowov"] +[ext_resource type="PackedScene" uid="uid://d0tuv2dtlosfe" path="res://scene/little_game/弹珠游戏/balls_0.tscn" id="5_obeip"] +[ext_resource type="PackedScene" uid="uid://cv12saxinfoi7" path="res://scene/little_game/弹珠游戏/balls_1.tscn" id="6_ymk37"] +[ext_resource type="PackedScene" uid="uid://dr0rwr0xjgnjw" path="res://scene/little_game/弹珠游戏/balls_2.tscn" id="7_oii6q"] + +[sub_resource type="Animation" id="Animation_3kvx4"] +resource_name = "dispatch_balls" +length = 3.0 +tracks/0/type = "method" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(1.1), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"do_dispatch_balls" +}] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Boy/BoyHand:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(308, 0), Vector2(307, 88)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Boy/BoyHand:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Boy/BoyHand:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 1.26667, 1.9), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="Animation" id="Animation_fk3jp"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Boy/BoyHand:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(307, 88)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Boy/BoyHand:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Boy/BoyHand:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Pivot/Ball:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Boy/BoyHands:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Boy/BoyHands:position") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(283, 61)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Pivot/Ball:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_dowov"] +resource_name = "give_ball" +length = 3.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Pivot/Ball:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1.06667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, -190)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Boy/BoyHands:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.966667, 1.2, 2, 2.43333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Boy/BoyHands:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.833333, 1.3, 1.93333, 2.13333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(283, 61), Vector2(283, 40), Vector2(283, 61), Vector2(283, 61), Vector2(283, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Pivot/Ball:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.366667, 0.533333, 0.933333, 1.13333), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_fk3jp"] +_data = { +&"RESET": SubResource("Animation_fk3jp"), +&"dispatch_balls": SubResource("Animation_3kvx4"), +&"give_ball": SubResource("Animation_dowov") +} + +[sub_resource type="SpriteFrames" id="SpriteFrames_jur7x"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("4_fk3jp") +}, { +"duration": 1.0, +"texture": ExtResource("5_dowov") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] [sub_resource type="CircleShape2D" id="CircleShape2D_bm1k0"] radius = 300.0 @@ -12,6 +232,7 @@ radius = 300.0 script = ExtResource("1_p2trd") [node name="TextureRect" type="TextureRect" parent="."] +z_index = -1 offset_left = -4.0 offset_right = 1724.0 offset_bottom = 951.0 @@ -20,6 +241,58 @@ size_flags_horizontal = 4 size_flags_vertical = 4 texture = ExtResource("2_bm1k0") +[node name="MarginContainer" type="MarginContainer" parent="."] +z_index = 10 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -100.0 +offset_top = -1.0 +offset_right = 100.0 +offset_bottom = 78.0 +grow_horizontal = 2 +theme_override_constants/margin_top = 52 + +[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(300, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme_override_colors/default_color = Color(0.856067, 0.856067, 0.856067, 1) +theme_override_colors/font_outline_color = Color(0.401628, 0.253369, 0.0745033, 1) +theme_override_constants/outline_size = 5 +theme_override_font_sizes/normal_font_size = 20 +bbcode_enabled = true +text = "[wave amp=20.0 freq=5.0 connected=1][shake rate=10.0 level=3 connected=1]弹珠拿出来[/shake][/wave]" +fit_content = true +horizontal_alignment = 1 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="MarginContainer"] +unique_name_in_owner = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_fk3jp") +} + +[node name="Boy" type="Node2D" parent="."] +z_index = 1 + +[node name="BoyHands" type="Sprite2D" parent="Boy"] +modulate = Color(1, 1, 1, 0) +z_index = 3 +position = Vector2(283, 61) +texture = ExtResource("3_3kvx4") + +[node name="BoyHand" type="AnimatedSprite2D" parent="Boy"] +modulate = Color(1, 1, 1, 0) +position = Vector2(307, 88) +sprite_frames = SubResource("SpriteFrames_jur7x") + +[node name="Marker2D" type="Marker2D" parent="Boy"] +position = Vector2(296, 102) + [node name="Area2D" type="Area2D" parent="."] position = Vector2(274, 158) collision_layer = 128 @@ -36,15 +309,17 @@ collision_layer = 128 collision_mask = 128 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"] -position = Vector2(18, 53) +position = Vector2(17, 50) build_mode = 1 -polygon = PackedVector2Array(116, 41, 144, 48, 175, 41, 207, 25, 242, 25, 263, 37, 296, 41, 313, 26, 354, 24, 396, 45, 425, 47, 445, 45, 485, 71, 512, 108, 510, 142, 480, 168, 416, 201, 325, 225, 272, 229, 170, 218, 102, 197, 36, 145, 37, 103, 69, 70) +polygon = PackedVector2Array(117, 43, 144, 47, 175, 41, 208, 27, 234, 24, 262, 22, 289, 22, 314, 24, 355, 26, 396, 45, 425, 47, 445, 45, 489, 69, 522, 104, 517, 141, 488, 169, 416, 201, 330, 221, 273, 225, 173, 210, 101, 189, 36, 145, 35, 100, 65, 67) [node name="Pivot" type="Marker2D" parent="."] -position = Vector2(294, 256) +position = Vector2(295, 249) [node name="Ball" parent="Pivot" instance=ExtResource("4_bm1k0")] +y_sort_enabled = true scale = Vector2(1.6575, 1.6575) +linear_damp = 0.0 is_shooter = true [node name="HandPivot" type="Marker2D" parent="Pivot"] @@ -54,44 +329,9 @@ position = Vector2(1, -31) scale = Vector2(1.5, 1.5) texture = ExtResource("4_plt4v") -[node name="Balls" type="Node2D" parent="."] +[node name="Balls0" parent="." instance=ExtResource("5_obeip")] -[node name="Ball" parent="Balls" instance=ExtResource("4_bm1k0")] -position = Vector2(266, 107) -scale = Vector2(1.185, 1.185) -collision_layer = 132 +[node name="Balls1" parent="." instance=ExtResource("6_ymk37")] -[node name="Ball2" parent="Balls" instance=ExtResource("4_bm1k0")] -position = Vector2(342, 120) -scale = Vector2(1.2175, 1.2175) -collision_layer = 132 -id = "3" - -[node name="Ball3" parent="Balls" instance=ExtResource("4_bm1k0")] -position = Vector2(204, 126) -scale = Vector2(1.2275, 1.2275) -collision_layer = 132 - -[node name="MarginContainer" type="MarginContainer" parent="."] -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -20.0 -offset_right = 20.0 -offset_bottom = 40.0 -grow_horizontal = 2 -theme_override_constants/margin_top = 52 - -[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer"] -custom_minimum_size = Vector2(200, 0) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme_override_colors/default_color = Color(0.856067, 0.856067, 0.856067, 1) -theme_override_colors/font_outline_color = Color(0.401628, 0.253369, 0.0745033, 1) -theme_override_constants/outline_size = 5 -theme_override_font_sizes/normal_font_size = 24 -bbcode_enabled = true -text = "[wave amp=20.0 freq=5.0 connected=1][shake rate=10.0 level=3 connected=1]弹珠拿出来[/shake][/wave]" -fit_content = true -horizontal_alignment = 1 +[node name="Balls2" parent="." instance=ExtResource("7_oii6q")] +position = Vector2(5, 32)