完善弹珠游戏
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@ -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]
|
||||
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
@ -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]
|
||||
|
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"]
|
||||
|
||||
[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")
|
@ -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
|
||||
|
@ -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,(告别),,?,,
|
||||
|
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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]
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
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):
|
||||
|
@ -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"]
|
||||
|
@ -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"]
|
||||
|
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"]
|
||||
|
||||
[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"]
|
||||
|
||||
|
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_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
|
||||
|
@ -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"
|
||||
|
||||
|
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)
|
||||
|
||||
@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()
|
||||
reload_hand_ball()
|
||||
hit_count += 1
|
||||
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
|
||||
hit_count += 1
|
||||
if hit_count >= 2:
|
||||
# 触发游戏结束
|
||||
print("round 1 game over")
|
||||
hit_count = 0
|
||||
game_over()
|
||||
|
||||
|
||||
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()
|
||||
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"):
|
||||
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()
|
||||
|
@ -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)
|
||||
|