完善弹珠游戏
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cawpq7rnho5px"
|
uid="uid://cawpq7rnho5px"
|
||||||
path="res://.godot/imported/洞.png-966fe640ecc42fd45e1bd46377899638.ctex"
|
path="res://.godot/imported/洞.png-4b9f662fa1b15ce171b32301a2c981b5.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://asset/art/scene/c02/小手/洞.png"
|
source_file="res://asset/art/gif/c02_小手/洞.png"
|
||||||
dest_files=["res://.godot/imported/洞.png-966fe640ecc42fd45e1bd46377899638.ctex"]
|
dest_files=["res://.godot/imported/洞.png-4b9f662fa1b15ce171b32301a2c981b5.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bebgjc6t1arqr"
|
uid="uid://oiswtv7jqcqy"
|
||||||
path="res://.godot/imported/水盆特写.png-7785ab04378ba468dbf3509897d90714.ctex"
|
path="res://.godot/imported/水盆特写.png-18dcef2b274ca5d5520264a0fb265000.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://asset/art/scene/c02/水盆特写.png"
|
source_file="res://asset/art/scene/c02/s06_二楼楼道/水盆特写.png"
|
||||||
dest_files=["res://.godot/imported/水盆特写.png-7785ab04378ba468dbf3509897d90714.ctex"]
|
dest_files=["res://.godot/imported/水盆特写.png-18dcef2b274ca5d5520264a0fb265000.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
Before Width: | Height: | Size: 3.0 KiB |
@ -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
|
|
Before Width: | Height: | Size: 2.9 KiB |
@ -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
|
|
Before Width: | Height: | Size: 3.0 KiB |
@ -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
|
|
Before Width: | Height: | Size: 3.0 KiB |
@ -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
|
|
Before Width: | Height: | Size: 3.0 KiB |
@ -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
|
|
Before Width: | Height: | Size: 3.7 KiB |
@ -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
|
|
Before Width: | Height: | Size: 2.9 KiB |
@ -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
|
|
Before Width: | Height: | Size: 263 KiB |
@ -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
|
|
Before Width: | Height: | Size: 34 KiB |
@ -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
|
|
Before Width: | Height: | Size: 33 KiB |
@ -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
|
|
Before Width: | Height: | Size: 315 KiB |
@ -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
|
|
Before Width: | Height: | Size: 70 KiB |
@ -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
|
|
Before Width: | Height: | Size: 29 KiB |
@ -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
|
|
Before Width: | Height: | Size: 177 KiB |
@ -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
|
|
Before Width: | Height: | Size: 444 KiB |
@ -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
|
|
Before Width: | Height: | Size: 1.7 KiB |
@ -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
|
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://c27utrrbubglt"]
|
[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"]
|
[node name="AudioTestPanel" type="CanvasLayer"]
|
||||||
script = ExtResource("1_csy6t")
|
script = ExtResource("1_csy6t")
|
@ -29,12 +29,12 @@
|
|||||||
=> END
|
=> END
|
||||||
|
|
||||||
~ c01_s06_四个小孩画鬼差的对话
|
~ 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
|
=> END
|
||||||
|
|
||||||
~ c01_s06_四个小孩_对话1
|
~ c01_s06_四个小孩_对话1
|
||||||
|
@ -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_吕萍_天暗,“天色变暗了”,,吕萍,,
|
||||||
c02_吕萍_井旁01,“这么冷的天,怎么这树的叶子还这么茂盛”,,吕萍,,[#wait=3]
|
c02_吕萍_井旁01,“这么冷的天,怎么这树的叶子还这么茂盛”,,吕萍,,[#wait=3]
|
||||||
c02_吕萍_井旁音效,...,,,,[#wait=2]
|
c02_吕萍_井旁音效,...,,,,[#wait=2]
|
||||||
@ -124,17 +129,20 @@ c02_李氏王赖子_耗子精02,“(敲门游戏线索)”,,王癞子,,[#anonymo
|
|||||||
(...),(...),,小蝉,,
|
(...),(...),,小蝉,,
|
||||||
c02_s03_敲门游戏,“(示例)理发上楼,看病上楼”,,???,,
|
c02_s03_敲门游戏,“(示例)理发上楼,看病上楼”,,???,,
|
||||||
(让玩家去寻找弹珠),(让玩家去寻找弹珠),,,,
|
(让玩家去寻找弹珠),(让玩家去寻找弹珠),,,,
|
||||||
(游戏开始咯),(游戏开始咯),,,,
|
|
||||||
(这不是我们说的弹珠),(这不是我们说的弹珠),,,,
|
(这不是我们说的弹珠),(这不是我们说的弹珠),,,,
|
||||||
(你知道规则吗?),(你知道规则吗?),,,,
|
把弹珠拿出来,把弹珠拿出来,,,,
|
||||||
(),(),,,,
|
你、你绝对不是第一次玩弹珠,你、你绝对不是第一次玩弹珠,,,,
|
||||||
(这不可能!),(这不可能!),,,,
|
这不可能...再来一次!,这不可能...再来一次!,,,,
|
||||||
|
我没输...你骗人!,我没输...你骗人!,,,,
|
||||||
|
这不可能!不不不...,这不可能!不不不...,,,,
|
||||||
|
我还有很多弹珠,玩到我赢为止!,我还有很多弹珠,玩到我赢为止!,,,,
|
||||||
|
碰到边界你就输了!,碰到边界你就输了!,,,,
|
||||||
(井边疯子对话),(井边疯子对话),,,,
|
(井边疯子对话),(井边疯子对话),,,,
|
||||||
(歌谣),(歌谣),,,,
|
(歌谣),(歌谣),,,,
|
||||||
(霸凌对话.),(霸凌对话.),,,,
|
(霸凌对话.),(霸凌对话.),,,,
|
||||||
(霸凌对话..),(霸凌对话..),,,,
|
(霸凌对话..),(霸凌对话..),,,,
|
||||||
(霸凌对话...),(霸凌对话...),,,,
|
(霸凌对话...),(霸凌对话...),,,,
|
||||||
c02_吕萍_玩具发光,“嗯?玩具在发光”,,吕萍,,
|
c02_吕萍_玩具发光,“嗯?玩具在发光”,,吕萍,,
|
||||||
c02_s11_谢幕交谈1,(小蝉说话),,,,
|
c02_s11_谢幕交谈1,(小蝉说话),,?,,
|
||||||
c02_s11_谢幕交谈2,(胖子 瞎子来打断),,,,
|
c02_s11_谢幕交谈2,(胖子 瞎子来打断),,?,,
|
||||||
c02_s11_谢幕交谈3,(告别),,,,
|
c02_s11_谢幕交谈3,(告别),,?,,
|
||||||
|
|
@ -299,31 +299,43 @@
|
|||||||
(让玩家去寻找弹珠)
|
(让玩家去寻找弹珠)
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
# 开始游戏
|
|
||||||
~ c02_s05_三男孩弹珠游戏2
|
|
||||||
(游戏开始咯)
|
|
||||||
=> END
|
|
||||||
|
|
||||||
# 无法游戏
|
# 无法游戏
|
||||||
~ c02_s05_三男孩弹珠游戏3
|
~ c02_s05_三男孩弹珠游戏2
|
||||||
(这不是我们说的弹珠)
|
(这不是我们说的弹珠)
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
|
# 游戏intro
|
||||||
|
~ c02_弹珠游戏0
|
||||||
|
把弹珠拿出来
|
||||||
|
=> END!
|
||||||
|
|
||||||
# 游戏阶段1
|
# 游戏阶段1
|
||||||
~ c02_弹珠游戏1
|
~ c02_弹珠游戏1
|
||||||
(你知道规则吗?)
|
你、你绝对不是第一次玩弹珠
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
# 游戏阶段2
|
# 游戏阶段2
|
||||||
~ c02_弹珠游戏2
|
~ c02_弹珠游戏2
|
||||||
()
|
这不可能...再来一次!
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
# 游戏阶段5
|
# 游戏阶段3
|
||||||
~ c02_弹珠游戏5
|
~ c02_弹珠游戏3
|
||||||
(这不可能!)
|
我没输...你骗人!
|
||||||
|
这不可能!不不不...
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
|
# 游戏尾声
|
||||||
|
~ c02_弹珠游戏4
|
||||||
|
我还有很多弹珠,玩到我赢为止!
|
||||||
|
=> END
|
||||||
|
|
||||||
|
# 游戏失败
|
||||||
|
~ c02_弹珠游戏fail
|
||||||
|
碰到边界你就输了!
|
||||||
|
=> END!
|
||||||
|
|
||||||
~ c02_s11_井边疯子对话
|
~ c02_s11_井边疯子对话
|
||||||
(井边疯子对话)
|
(井边疯子对话)
|
||||||
=> END
|
=> END
|
||||||
|
@ -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_太阳]
|
|
||||||
民国六年十月十五日 [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
|
=> END
|
||||||
|
@ -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)
|
"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]
|
[internationalization]
|
||||||
|
|
||||||
|
@ -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="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://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://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"]
|
[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"]
|
[node name="Sprite2D" parent="Sign/TextureContainer" index="0"]
|
||||||
position = Vector2(0, 10)
|
position = Vector2(0, 10)
|
||||||
texture = ExtResource("2_1sj6c")
|
texture = ExtResource("2_bxihn")
|
||||||
|
|
||||||
[node name="PointLight2D" type="PointLight2D" parent="."]
|
[node name="PointLight2D" type="PointLight2D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -54,10 +54,10 @@ func _on_ground_ready() -> void:
|
|||||||
counter.visible = false
|
counter.visible = false
|
||||||
|
|
||||||
madman_ambush = $"../DeployLayer/Ambush井边疯子"
|
madman_ambush = $"../DeployLayer/Ambush井边疯子"
|
||||||
# c02_madman_hitwall 之后, c02_ball_game_stage==2(游戏结束) 之前
|
# c02_madman_hitwall 之后, c02_ball_game_stage==3(游戏结束) 之前
|
||||||
if (
|
if (
|
||||||
ArchiveManager.get_global_value("c02_madman_hitwall")
|
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.visible = true
|
||||||
madman_ambush.enabled = true
|
madman_ambush.enabled = true
|
||||||
@ -66,7 +66,7 @@ func _on_ground_ready() -> void:
|
|||||||
bully_layer = $"../DeployLayer/霸凌"
|
bully_layer = $"../DeployLayer/霸凌"
|
||||||
burning_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()
|
_setup_bully_or_burning()
|
||||||
|
|
||||||
small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D
|
small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D
|
||||||
|
@ -31,10 +31,10 @@ func _on_ground_ready() -> void:
|
|||||||
closeup_ball = $"../DeployLayer/Closeup弹珠游戏" as Closeup2D
|
closeup_ball = $"../DeployLayer/Closeup弹珠游戏" as Closeup2D
|
||||||
|
|
||||||
ball_game_boys_ambush = $"../DeployLayer/Ambush三男孩"
|
ball_game_boys_ambush = $"../DeployLayer/Ambush三男孩"
|
||||||
# 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束
|
# 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
|
||||||
if (
|
if (
|
||||||
ArchiveManager.get_global_value("c02_the_blind_room_entered", false)
|
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
|
ball_game_boys_ambush.enabled = true
|
||||||
@ -72,7 +72,7 @@ func _on_mice_hole_interacted():
|
|||||||
|
|
||||||
|
|
||||||
func boys_ball_game() -> void:
|
func boys_ball_game() -> void:
|
||||||
# 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束
|
# 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
|
||||||
var stage = ArchiveManager.get_global_value("c02_ball_game_stage", 0)
|
var stage = ArchiveManager.get_global_value("c02_ball_game_stage", 0)
|
||||||
if stage == 0:
|
if stage == 0:
|
||||||
ArchiveManager.set_global_entry("c02_ball_game_stage", 1)
|
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")
|
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏1")
|
||||||
await DialogueManager.dialogue_ended
|
await DialogueManager.dialogue_ended
|
||||||
SceneManager.release_player()
|
SceneManager.release_player()
|
||||||
elif stage == 1:
|
elif stage == 1 or stage == 2:
|
||||||
var start_game = false
|
|
||||||
SceneManager.freeze_player(0)
|
SceneManager.freeze_player(0)
|
||||||
if SceneManager.get_current_prop(false) != "prop_弹珠":
|
if stage == 1 and SceneManager.get_current_prop(false) != "prop_弹珠":
|
||||||
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏3")
|
|
||||||
var hud = SceneManager.get_prop_hud() as PropHud
|
var hud = SceneManager.get_prop_hud() as PropHud
|
||||||
hud.on_toggle_invalid_prop()
|
hud.on_toggle_invalid_prop()
|
||||||
else:
|
|
||||||
# 开始弹珠游戏
|
|
||||||
start_game = true
|
|
||||||
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏2")
|
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏2")
|
||||||
await DialogueManager.dialogue_ended
|
await DialogueManager.dialogue_ended
|
||||||
SceneManager.release_player()
|
else:
|
||||||
if start_game:
|
|
||||||
# 进入弹珠游戏
|
# 进入弹珠游戏
|
||||||
closeup_ball.exit.connect(_on_ball_game_exit)
|
closeup_ball.exit.connect(_on_ball_game_exit)
|
||||||
closeup_ball.display()
|
closeup_ball.display()
|
||||||
# closeup_ball.enabled = false
|
# closeup_ball.enabled = false
|
||||||
|
SceneManager.release_player()
|
||||||
|
|
||||||
|
|
||||||
func _on_ball_game_exit(success = null):
|
func _on_ball_game_exit(success = null):
|
||||||
|
@ -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="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"]
|
||||||
@ -17,6 +17,7 @@
|
|||||||
[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"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://trkypc4gox20" path="res://scene/ground/script/c02/水盆特写.tscn" id="16_p6da7"]
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
@ -301,6 +302,7 @@ position = Vector2(167, 38)
|
|||||||
enabled = false
|
enabled = false
|
||||||
trigger_mode = "interact"
|
trigger_mode = "interact"
|
||||||
one_shot = false
|
one_shot = false
|
||||||
|
freeze_time = 0.1
|
||||||
hook_method = "boys_ball_game"
|
hook_method = "boys_ball_game"
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush三男孩"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush三男孩"]
|
||||||
@ -312,10 +314,14 @@ frame = 6
|
|||||||
frame_progress = 0.121203
|
frame_progress = 0.121203
|
||||||
|
|
||||||
[node name="Closeup弹珠游戏" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_owxx3")]
|
[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")
|
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
|
visible = false
|
||||||
|
|
||||||
[node name="胖子" type="AnimatedSprite2D" parent="Ground/DeployLayer/c02_final"]
|
[node name="胖子" type="AnimatedSprite2D" parent="Ground/DeployLayer/c02_final"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=16 format=3 uid="uid://xovlfee503a4"]
|
[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="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="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"]
|
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="3_lr23o"]
|
||||||
|
17
scene/ground/script/c02/水盆特写.tscn
Normal file
@ -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
|
@ -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)
|
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://cdf2qe8l7323i"]
|
[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://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"]
|
[ext_resource type="Texture2D" uid="uid://sx3i3lkt2vfd" path="res://asset/art/scene/c02/s04_保卫科/花名册/花名册封皮.png" id="3_sdpps"]
|
||||||
|
|
||||||
|
6
scene/ground/script/c02/通用特写脚本.gd
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
extends CanvasLayer
|
||||||
|
|
||||||
|
signal exit(success: bool)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
@ -5,7 +5,7 @@ extends RigidBody2D
|
|||||||
signal hit_ball
|
signal hit_ball
|
||||||
signal hit_boundary
|
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):
|
set(value):
|
||||||
id = value
|
id = value
|
||||||
if Engine.is_editor_hint() and is_node_ready():
|
if Engine.is_editor_hint() and is_node_ready():
|
||||||
@ -35,12 +35,32 @@ const texture_dict = {
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
if is_shooter:
|
||||||
|
linear_damp = 0
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
max_contacts_reported = 1
|
max_contacts_reported = 1
|
||||||
_set_up_texture()
|
_set_up_texture()
|
||||||
body_entered.connect(_on_body_entered)
|
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():
|
func rand_id():
|
||||||
# 随机 id
|
# 随机 id
|
||||||
var rand = randi() % 3 + 1
|
var rand = randi() % 3 + 1
|
||||||
@ -56,7 +76,8 @@ var recycling = false
|
|||||||
|
|
||||||
|
|
||||||
func _on_body_entered(node: Node):
|
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:
|
if recycling or not is_shooter:
|
||||||
return
|
return
|
||||||
recycling = true
|
recycling = true
|
||||||
|
@ -19,6 +19,7 @@ collision_mask = 128
|
|||||||
gravity_scale = 0.0
|
gravity_scale = 0.0
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
max_contacts_reported = 1
|
max_contacts_reported = 1
|
||||||
|
linear_damp = 5.0
|
||||||
script = ExtResource("2_ni48t")
|
script = ExtResource("2_ni48t")
|
||||||
id = "2"
|
id = "2"
|
||||||
|
|
||||||
|
7
scene/little_game/弹珠游戏/balls.gd
Normal file
@ -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)
|
1
scene/little_game/弹珠游戏/balls.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://b4c1x33s0w2mm
|
15
scene/little_game/弹珠游戏/balls_0.tscn
Normal file
@ -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"
|
28
scene/little_game/弹珠游戏/balls_1.tscn
Normal file
@ -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"
|
42
scene/little_game/弹珠游戏/balls_2.tscn
Normal file
@ -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"
|
@ -2,33 +2,132 @@ extends CanvasLayer
|
|||||||
|
|
||||||
signal exit(success)
|
signal exit(success)
|
||||||
|
|
||||||
|
@onready var animation_player = $AnimationPlayer as AnimationPlayer
|
||||||
@onready var pivot = $Pivot as Node2D
|
@onready var pivot = $Pivot as Node2D
|
||||||
@onready var hand_pivot = $Pivot/HandPivot 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 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:
|
func _ready() -> void:
|
||||||
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
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()
|
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_scene = preload("res://scene/little_game/弹珠游戏/ball.tscn")
|
||||||
var ball = ball_scene.instantiate()
|
var ball = ball_scene.instantiate()
|
||||||
ball.is_shooter = true
|
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.add_child(ball)
|
||||||
pivot.move_child(ball, 0)
|
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 wave_tween: Tween
|
||||||
var shooting = false
|
|
||||||
|
|
||||||
|
|
||||||
func wave_hand() -> void:
|
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
|
# 转动 pivot
|
||||||
if wave_tween:
|
if wave_tween:
|
||||||
if not wave_tween.is_running():
|
if not wave_tween.is_running():
|
||||||
@ -63,8 +162,9 @@ func wave_hand() -> void:
|
|||||||
wave_tween.set_loops(9999999)
|
wave_tween.set_loops(9999999)
|
||||||
|
|
||||||
|
|
||||||
|
# interact(E) 与 spacebar 都可以 shoot
|
||||||
func shoot() -> void:
|
func shoot() -> void:
|
||||||
if shooting:
|
if not round_ready or shooting or round_id < 0:
|
||||||
return
|
return
|
||||||
shooting = true
|
shooting = true
|
||||||
# 触发射击事件
|
# 触发射击事件
|
||||||
@ -74,44 +174,120 @@ func shoot() -> void:
|
|||||||
var direction = Vector2(0, -1).rotated(hand_pivot.rotation)
|
var direction = Vector2(0, -1).rotated(hand_pivot.rotation)
|
||||||
ball.linear_velocity = direction * 200
|
ball.linear_velocity = direction * 200
|
||||||
ball.angular_velocity = 20.0
|
ball.angular_velocity = 20.0
|
||||||
ball.hit_ball.connect(_on_hit_ball)
|
create_tween().tween_property(hand_pivot, "modulate:a", 0.0, 0.5)
|
||||||
ball.hit_boundary.connect(_on_hit_boundary)
|
|
||||||
|
|
||||||
|
|
||||||
var hit_count = 0
|
|
||||||
|
|
||||||
|
|
||||||
func _on_hit_ball():
|
func _on_hit_ball():
|
||||||
print("_on_hit_ball")
|
print("_on_hit_ball")
|
||||||
reload()
|
reload_hand_ball()
|
||||||
wave_hand()
|
|
||||||
shooting = false
|
|
||||||
hit_count += 1
|
hit_count += 1
|
||||||
if hit_count >= 2:
|
if round_id == 0:
|
||||||
# 触发游戏结束
|
round_ready = false
|
||||||
print("round 1 game over")
|
_success_dialogue()
|
||||||
hit_count = 0
|
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()
|
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():
|
func _on_hit_boundary():
|
||||||
# 重开游戏
|
if round_id > 0:
|
||||||
print("hit boundary, restart")
|
# 后面的回合必须每次都击中球
|
||||||
reload()
|
DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏fail")
|
||||||
wave_hand()
|
await dialogue_ended
|
||||||
|
reload_round()
|
||||||
|
else:
|
||||||
|
reload_hand_ball()
|
||||||
|
wave_hand()
|
||||||
shooting = false
|
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:
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed("interact"):
|
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()
|
get_viewport().set_input_as_handled()
|
||||||
|
|
||||||
|
|
||||||
func game_over() -> void:
|
signal dialogue_ended
|
||||||
exit.emit(true)
|
|
||||||
# 0:默认; 1:寻找弹珠(老虎钳可以换弹珠); 2:游戏结束
|
## The current line
|
||||||
ArchiveManager.set_global_entry("c02_ball_game_stage", 2)
|
var dialogue_line: DialogueLine:
|
||||||
SceneManager.disable_prop_item("prop_弹珠")
|
set(value):
|
||||||
SceneManager.pop_debug_dialog_info("弹珠", "游戏关卡待完善")
|
if value:
|
||||||
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_弹珠游戏5")
|
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()
|
||||||
|
@ -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="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://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="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://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"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_bm1k0"]
|
||||||
radius = 300.0
|
radius = 300.0
|
||||||
@ -12,6 +232,7 @@ radius = 300.0
|
|||||||
script = ExtResource("1_p2trd")
|
script = ExtResource("1_p2trd")
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="."]
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
z_index = -1
|
||||||
offset_left = -4.0
|
offset_left = -4.0
|
||||||
offset_right = 1724.0
|
offset_right = 1724.0
|
||||||
offset_bottom = 951.0
|
offset_bottom = 951.0
|
||||||
@ -20,6 +241,58 @@ size_flags_horizontal = 4
|
|||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
texture = ExtResource("2_bm1k0")
|
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="."]
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
position = Vector2(274, 158)
|
position = Vector2(274, 158)
|
||||||
collision_layer = 128
|
collision_layer = 128
|
||||||
@ -36,15 +309,17 @@ collision_layer = 128
|
|||||||
collision_mask = 128
|
collision_mask = 128
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||||
position = Vector2(18, 53)
|
position = Vector2(17, 50)
|
||||||
build_mode = 1
|
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="."]
|
[node name="Pivot" type="Marker2D" parent="."]
|
||||||
position = Vector2(294, 256)
|
position = Vector2(295, 249)
|
||||||
|
|
||||||
[node name="Ball" parent="Pivot" instance=ExtResource("4_bm1k0")]
|
[node name="Ball" parent="Pivot" instance=ExtResource("4_bm1k0")]
|
||||||
|
y_sort_enabled = true
|
||||||
scale = Vector2(1.6575, 1.6575)
|
scale = Vector2(1.6575, 1.6575)
|
||||||
|
linear_damp = 0.0
|
||||||
is_shooter = true
|
is_shooter = true
|
||||||
|
|
||||||
[node name="HandPivot" type="Marker2D" parent="Pivot"]
|
[node name="HandPivot" type="Marker2D" parent="Pivot"]
|
||||||
@ -54,44 +329,9 @@ position = Vector2(1, -31)
|
|||||||
scale = Vector2(1.5, 1.5)
|
scale = Vector2(1.5, 1.5)
|
||||||
texture = ExtResource("4_plt4v")
|
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")]
|
[node name="Balls1" parent="." instance=ExtResource("6_ymk37")]
|
||||||
position = Vector2(266, 107)
|
|
||||||
scale = Vector2(1.185, 1.185)
|
|
||||||
collision_layer = 132
|
|
||||||
|
|
||||||
[node name="Ball2" parent="Balls" instance=ExtResource("4_bm1k0")]
|
[node name="Balls2" parent="." instance=ExtResource("7_oii6q")]
|
||||||
position = Vector2(342, 120)
|
position = Vector2(5, 32)
|
||||||
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
|
|
||||||
|