diff --git a/addons/gif-importer/importer_plugin.gd b/addons/gif-importer/importer_plugin.gd index 23cab3ce..ac4f0d0d 100644 --- a/addons/gif-importer/importer_plugin.gd +++ b/addons/gif-importer/importer_plugin.gd @@ -56,6 +56,7 @@ func _get_option_visibility(path: String, option_name: StringName, options: Dict # 防止同时加载多个文件时卡死 static var MUTEX = Mutex.new() +const gif_dir = "res://asset/art/gif/" func _import(source_file, save_path, options, platform_variants, gen_files): if GifManager == null: @@ -71,4 +72,35 @@ func _import(source_file, save_path, options, platform_variants, gen_files): # await get_tree().create_timer(0.1).timeout MUTEX.unlock() print_debug("Imported GIF frames: ", frames.get_frame_count("gif"), " from ", source_file) + var base_dir = source_file.get_base_dir() + if base_dir != gif_dir and base_dir.begins_with(gif_dir): + var animation_name = source_file.get_file().replace(".gif", "") + var dir_name = base_dir + "/" + animation_name + "/" + if DirAccess.dir_exists_absolute(dir_name): + DirAccess.remove_absolute(dir_name) + DirAccess.make_dir_absolute(dir_name) + var sprite_frames_path = base_dir + "/frames.tres" + var sprite_frames: SpriteFrames + if not FileAccess.file_exists(sprite_frames_path): + sprite_frames = SpriteFrames.new() + sprite_frames.resource_path = sprite_frames_path + else: + sprite_frames = load(sprite_frames_path) as SpriteFrames + if sprite_frames.has_animation(animation_name): + sprite_frames.clear(animation_name) + else: + sprite_frames.add_animation(animation_name) + sprite_frames.set_animation_loop(animation_name, frames.get_animation_loop("gif")) + sprite_frames.set_animation_speed(animation_name, frames.get_animation_speed("gif")) + for i in range(frames.get_frame_count("gif")): + var texture = frames.get_frame_texture("gif", i) as Texture2D + var image = texture.get_image() + var image_path = dir_name + str(i) + ".png" + image.save_png(image_path) + image.resource_path = image_path + var new_texture = ImageTexture.create_from_image(image) + var duration = frames.get_frame_duration("gif", i) + sprite_frames.add_frame(animation_name, new_texture, duration) + print_debug("Created images and added to SpriteFrames: ", animation_name) + ResourceSaver.save(sprite_frames) return code diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif b/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif new file mode 100755 index 00000000..55d3d47c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif.import b/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif.import new file mode 100644 index 00000000..7016aba3 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/fg_花圃.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://bx3c8r31cvo8n" +path="res://.godot/imported/fg_花圃.gif-8e47e904a5d6d15fcb774edb0eb2cf9e.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/fg_花圃.gif" +dest_files=["res://.godot/imported/fg_花圃.gif-8e47e904a5d6d15fcb774edb0eb2cf9e.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png b/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png new file mode 100644 index 00000000..4e02f341 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png.import b/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png.import new file mode 100644 index 00000000..9549cd13 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1fc664q3a6uc" +path="res://.godot/imported/0.png-9b63a554440389d99780ccb5f68869a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png" +dest_files=["res://.godot/imported/0.png-9b63a554440389d99780ccb5f68869a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png b/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png new file mode 100644 index 00000000..f0377d90 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png.import b/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png.import new file mode 100644 index 00000000..2baa8d49 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p38d24qbqiw8" +path="res://.godot/imported/1.png-03964e8fef09e95a495106256b392161.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png" +dest_files=["res://.godot/imported/1.png-03964e8fef09e95a495106256b392161.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/frames.tres b/asset/art/gif/c01_孤儿院长廊/frames.tres new file mode 100644 index 00000000..7e5f06ac --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/frames.tres @@ -0,0 +1,372 @@ +[gd_resource type="SpriteFrames" load_steps=74 format=3 uid="uid://cc0ea1he2nfc2"] + +[ext_resource type="Texture2D" uid="uid://b1fc664q3a6uc" path="res://asset/art/gif/c01_孤儿院长廊/fg_花圃/0.png" id="1_p7b7k"] +[ext_resource type="Texture2D" uid="uid://p38d24qbqiw8" path="res://asset/art/gif/c01_孤儿院长廊/fg_花圃/1.png" id="2_gs1di"] +[ext_resource type="Texture2D" uid="uid://deebi18wyq1wj" path="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png" id="3_17qjt"] +[ext_resource type="Texture2D" uid="uid://d3lbtcx6p8acv" path="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png" id="4_8o0lb"] +[ext_resource type="Texture2D" uid="uid://chcpy0ijod33k" path="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png" id="5_8k42r"] +[ext_resource type="Texture2D" uid="uid://dy4bxjqeue838" path="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png" id="6_lhq2q"] +[ext_resource type="Texture2D" uid="uid://r8q2qrp7cil0" path="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png" id="7_js7ok"] +[ext_resource type="Texture2D" uid="uid://dufaxxkhgt27b" path="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png" id="8_fphpv"] +[ext_resource type="Texture2D" uid="uid://dyk2lx08bhes2" path="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png" id="9_6sr5y"] +[ext_resource type="Texture2D" uid="uid://c3bo6iougpnpt" path="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png" id="10_051qt"] +[ext_resource type="Texture2D" uid="uid://4p61pega3kbf" path="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png" id="11_yi1w8"] +[ext_resource type="Texture2D" uid="uid://crbt33v4co86p" path="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png" id="12_wqcup"] +[ext_resource type="Texture2D" uid="uid://ds536i1lpsnh3" path="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png" id="13_8od1j"] +[ext_resource type="Texture2D" uid="uid://bsje8sy3nojy1" path="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png" id="14_awgic"] +[ext_resource type="Texture2D" uid="uid://d0jbxpedkgndg" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png" id="15_t7y4n"] +[ext_resource type="Texture2D" uid="uid://w4bfs3sojpd" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png" id="16_f1vha"] +[ext_resource type="Texture2D" uid="uid://c42xie6qtym1e" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png" id="17_dt1u3"] +[ext_resource type="Texture2D" uid="uid://223pqehes7fw" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png" id="18_18yym"] +[ext_resource type="Texture2D" uid="uid://bt7b74bfp4t75" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png" id="19_p0pxn"] +[ext_resource type="Texture2D" uid="uid://cb4ub1kngg0or" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png" id="20_y4xna"] +[ext_resource type="Texture2D" uid="uid://vo0ah8q2orws" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png" id="21_pmfth"] +[ext_resource type="Texture2D" uid="uid://b64t3xk7epc8w" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png" id="22_hvdrd"] +[ext_resource type="Texture2D" uid="uid://1p0w8b0fdsk1" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png" id="23_3ecok"] +[ext_resource type="Texture2D" uid="uid://01qufu3ddoi" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png" id="24_i4l65"] +[ext_resource type="Texture2D" uid="uid://h51ek708aah1" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png" id="25_t0xqy"] +[ext_resource type="Texture2D" uid="uid://c50cr55a20v51" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png" id="26_ovkd0"] +[ext_resource type="Texture2D" uid="uid://cr8f4u8qu58tm" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png" id="27_15o6h"] +[ext_resource type="Texture2D" uid="uid://dxg616utolf3q" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png" id="28_mlwgi"] +[ext_resource type="Texture2D" uid="uid://cb5cajeycnx1j" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png" id="29_i4yfr"] +[ext_resource type="Texture2D" uid="uid://bn4mg4egmfmo8" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png" id="30_ndoch"] +[ext_resource type="Texture2D" uid="uid://cvdxmweucfmuv" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png" id="31_7m718"] +[ext_resource type="Texture2D" uid="uid://b7iipsk4yqqoq" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png" id="32_c4wgl"] +[ext_resource type="Texture2D" uid="uid://beeu8pkquxxrm" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png" id="33_j2fah"] +[ext_resource type="Texture2D" uid="uid://0adu3teqqo56" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png" id="34_1aobm"] +[ext_resource type="Texture2D" uid="uid://gwibpf3nnyig" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png" id="35_07jql"] +[ext_resource type="Texture2D" uid="uid://0d7551536vjt" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png" id="36_ufacq"] +[ext_resource type="Texture2D" uid="uid://q5227y5lm2uo" path="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png" id="37_u6xcr"] +[ext_resource type="Texture2D" uid="uid://04kgsmonjhjw" path="res://asset/art/gif/c01_孤儿院长廊/秋千/0.png" id="38_vmpr4"] +[ext_resource type="Texture2D" uid="uid://bf6gf0tcq5kon" path="res://asset/art/gif/c01_孤儿院长廊/秋千/1.png" id="39_bkomk"] +[ext_resource type="Texture2D" uid="uid://d4iv7oqg8tyx7" path="res://asset/art/gif/c01_孤儿院长廊/秋千/2.png" id="40_y2al4"] +[ext_resource type="Texture2D" uid="uid://f3wx5c463j3u" path="res://asset/art/gif/c01_孤儿院长廊/秋千/3.png" id="41_iuide"] +[ext_resource type="Texture2D" uid="uid://cjat1c7gw5kf" path="res://asset/art/gif/c01_孤儿院长廊/秋千/4.png" id="42_7yjpa"] +[ext_resource type="Texture2D" uid="uid://dgk1ior713oje" path="res://asset/art/gif/c01_孤儿院长廊/秋千/5.png" id="43_ctekv"] +[ext_resource type="Texture2D" uid="uid://ctjkh5vheewvr" path="res://asset/art/gif/c01_孤儿院长廊/秋千/6.png" id="44_f2e71"] +[ext_resource type="Texture2D" uid="uid://cxjuy5gut2fcy" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png" id="45_1u1d2"] +[ext_resource type="Texture2D" uid="uid://8tyfyxc5lhfd" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png" id="46_cpt84"] +[ext_resource type="Texture2D" uid="uid://6grsr2bosrd6" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png" id="47_ncj48"] +[ext_resource type="Texture2D" uid="uid://ctsjybuvdlwsf" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png" id="48_xq4xh"] +[ext_resource type="Texture2D" uid="uid://dp260tmxdwsr6" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png" id="49_5qald"] +[ext_resource type="Texture2D" uid="uid://cqm0khmdwhfvu" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png" id="50_ndrgc"] +[ext_resource type="Texture2D" uid="uid://bt67aqn7wamys" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png" id="51_rtpby"] +[ext_resource type="Texture2D" uid="uid://cvmfo5uus2862" path="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png" id="52_yncgy"] +[ext_resource type="Texture2D" uid="uid://di7i61uuwl0xk" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/0.png" id="53_07cu2"] +[ext_resource type="Texture2D" uid="uid://baw1yipsyluf" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/1.png" id="54_1ig2q"] +[ext_resource type="Texture2D" uid="uid://dn6k78h7cmefq" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/2.png" id="55_yqdsa"] +[ext_resource type="Texture2D" uid="uid://cqjykt5y6guux" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/3.png" id="56_kpwmb"] +[ext_resource type="Texture2D" uid="uid://dqj6al8d4je5j" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/4.png" id="57_2mmq0"] +[ext_resource type="Texture2D" uid="uid://cr7unlv3ef07e" path="res://asset/art/gif/c01_孤儿院长廊/跷跷板/5.png" id="58_gtj82"] +[ext_resource type="Texture2D" uid="uid://l2yhy3at6mqb" path="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png" id="59_tgtdw"] +[ext_resource type="Texture2D" uid="uid://csodb0wddm8lj" path="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png" id="60_kgk0o"] +[ext_resource type="Texture2D" uid="uid://gwnt7ltvgp8g" path="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png" id="61_g7a6o"] +[ext_resource type="Texture2D" uid="uid://bidkarpvbdrxl" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/0.png" id="62_xxjts"] +[ext_resource type="Texture2D" uid="uid://bcw3iqr3j1mr5" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/1.png" id="63_6y00q"] +[ext_resource type="Texture2D" uid="uid://dysfva41xgtpc" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/2.png" id="64_6j8gg"] +[ext_resource type="Texture2D" uid="uid://bg6j5vv8fyo32" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/3.png" id="65_5sckl"] +[ext_resource type="Texture2D" uid="uid://cpwc5fe0eq6t1" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/4.png" id="66_i0u5o"] +[ext_resource type="Texture2D" uid="uid://74odw5h28ec5" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/5.png" id="67_fuqid"] +[ext_resource type="Texture2D" uid="uid://ctso1mn5p0hq" path="res://asset/art/gif/c01_孤儿院长廊/院长抬头/6.png" id="68_548o5"] +[ext_resource type="Texture2D" uid="uid://dj7vhe1h1igjd" path="res://asset/art/gif/c01_孤儿院长廊/院长翻书/0.png" id="69_olq7e"] +[ext_resource type="Texture2D" uid="uid://ctcmkw4kunar6" path="res://asset/art/gif/c01_孤儿院长廊/院长翻书/1.png" id="70_vys0d"] +[ext_resource type="Texture2D" uid="uid://bsnojnlxqcd0i" path="res://asset/art/gif/c01_孤儿院长廊/院长翻书/2.png" id="71_sk4ev"] +[ext_resource type="Texture2D" uid="uid://3b346oms2h7u" path="res://asset/art/gif/c01_孤儿院长廊/院长翻书/3.png" id="72_2m2f0"] +[ext_resource type="Texture2D" uid="uid://dqybiodyok0v0" path="res://asset/art/gif/c01_孤儿院长廊/院长翻书/4.png" id="73_8tjai"] + +[resource] +animations = [{ +"frames": [{ +"duration": 15.0, +"texture": ExtResource("1_p7b7k") +}, { +"duration": 15.0, +"texture": ExtResource("2_gs1di") +}], +"loop": true, +"name": &"fg_花圃", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("3_17qjt") +}, { +"duration": 6.0, +"texture": ExtResource("4_8o0lb") +}, { +"duration": 6.0, +"texture": ExtResource("5_8k42r") +}], +"loop": true, +"name": &"中蓝衣小孩呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("6_lhq2q") +}, { +"duration": 6.0, +"texture": ExtResource("7_js7ok") +}, { +"duration": 6.0, +"texture": ExtResource("8_fphpv") +}], +"loop": true, +"name": &"右绿衣男孩呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("9_6sr5y") +}, { +"duration": 6.0, +"texture": ExtResource("10_051qt") +}, { +"duration": 6.0, +"texture": ExtResource("11_yi1w8") +}], +"loop": true, +"name": &"左2黄衣男呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("12_wqcup") +}, { +"duration": 6.0, +"texture": ExtResource("13_8od1j") +}, { +"duration": 6.0, +"texture": ExtResource("14_awgic") +}], +"loop": true, +"name": &"左一绿衣男呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 3.0, +"texture": ExtResource("15_t7y4n") +}, { +"duration": 3.0, +"texture": ExtResource("16_f1vha") +}, { +"duration": 3.0, +"texture": ExtResource("17_dt1u3") +}, { +"duration": 3.0, +"texture": ExtResource("18_18yym") +}, { +"duration": 3.0, +"texture": ExtResource("19_p0pxn") +}, { +"duration": 3.0, +"texture": ExtResource("20_y4xna") +}, { +"duration": 3.0, +"texture": ExtResource("21_pmfth") +}, { +"duration": 3.0, +"texture": ExtResource("22_hvdrd") +}], +"loop": true, +"name": &"男孩跑动-右", +"speed": 30.0 +}, { +"frames": [{ +"duration": 3.0, +"texture": ExtResource("23_3ecok") +}, { +"duration": 3.0, +"texture": ExtResource("24_i4l65") +}, { +"duration": 3.0, +"texture": ExtResource("25_t0xqy") +}, { +"duration": 3.0, +"texture": ExtResource("26_ovkd0") +}, { +"duration": 3.0, +"texture": ExtResource("27_15o6h") +}, { +"duration": 3.0, +"texture": ExtResource("28_mlwgi") +}, { +"duration": 3.0, +"texture": ExtResource("29_i4yfr") +}, { +"duration": 3.0, +"texture": ExtResource("30_ndoch") +}], +"loop": true, +"name": &"男孩跑动-左", +"speed": 30.0 +}, { +"frames": [{ +"duration": 3.0, +"texture": ExtResource("31_7m718") +}, { +"duration": 3.0, +"texture": ExtResource("32_c4wgl") +}, { +"duration": 3.0, +"texture": ExtResource("33_j2fah") +}, { +"duration": 3.0, +"texture": ExtResource("34_1aobm") +}, { +"duration": 3.0, +"texture": ExtResource("35_07jql") +}, { +"duration": 3.0, +"texture": ExtResource("36_ufacq") +}, { +"duration": 3.0, +"texture": ExtResource("37_u6xcr") +}], +"loop": true, +"name": &"男孩跑动停球", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("38_vmpr4") +}, { +"duration": 1.0, +"texture": ExtResource("39_bkomk") +}, { +"duration": 1.0, +"texture": ExtResource("40_y2al4") +}, { +"duration": 1.0, +"texture": ExtResource("41_iuide") +}, { +"duration": 1.0, +"texture": ExtResource("42_7yjpa") +}, { +"duration": 1.0, +"texture": ExtResource("43_ctekv") +}, { +"duration": 1.0, +"texture": ExtResource("44_f2e71") +}], +"loop": true, +"name": &"秋千", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("45_1u1d2") +}, { +"duration": 6.0, +"texture": ExtResource("46_cpt84") +}, { +"duration": 6.0, +"texture": ExtResource("47_ncj48") +}], +"loop": true, +"name": &"红衣姑娘呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 10.5, +"texture": ExtResource("48_xq4xh") +}, { +"duration": 10.5, +"texture": ExtResource("49_5qald") +}, { +"duration": 10.5, +"texture": ExtResource("50_ndrgc") +}, { +"duration": 10.5, +"texture": ExtResource("51_rtpby") +}, { +"duration": 10.5, +"texture": ExtResource("52_yncgy") +}], +"loop": true, +"name": &"红衣姑娘抬头", +"speed": 30.0 +}, { +"frames": [{ +"duration": 9.0, +"texture": ExtResource("53_07cu2") +}, { +"duration": 9.0, +"texture": ExtResource("54_1ig2q") +}, { +"duration": 9.0, +"texture": ExtResource("55_yqdsa") +}, { +"duration": 9.0, +"texture": ExtResource("56_kpwmb") +}, { +"duration": 9.0, +"texture": ExtResource("57_2mmq0") +}, { +"duration": 9.0, +"texture": ExtResource("58_gtj82") +}], +"loop": true, +"name": &"跷跷板", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("59_tgtdw") +}, { +"duration": 6.0, +"texture": ExtResource("60_kgk0o") +}, { +"duration": 6.0, +"texture": ExtResource("61_g7a6o") +}], +"loop": true, +"name": &"院长呼吸", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("62_xxjts") +}, { +"duration": 6.0, +"texture": ExtResource("63_6y00q") +}, { +"duration": 6.0, +"texture": ExtResource("64_6j8gg") +}, { +"duration": 6.0, +"texture": ExtResource("65_5sckl") +}, { +"duration": 6.0, +"texture": ExtResource("66_i0u5o") +}, { +"duration": 6.0, +"texture": ExtResource("67_fuqid") +}, { +"duration": 12.0, +"texture": ExtResource("68_548o5") +}], +"loop": true, +"name": &"院长抬头", +"speed": 30.0 +}, { +"frames": [{ +"duration": 6.0, +"texture": ExtResource("69_olq7e") +}, { +"duration": 6.0, +"texture": ExtResource("70_vys0d") +}, { +"duration": 6.0, +"texture": ExtResource("71_sk4ev") +}, { +"duration": 6.0, +"texture": ExtResource("72_2m2f0") +}, { +"duration": 6.0, +"texture": ExtResource("73_8tjai") +}], +"loop": true, +"name": &"院长翻书", +"speed": 30.0 +}] diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif new file mode 100755 index 00000000..d18b2861 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif.import new file mode 100644 index 00000000..8b29fe2e --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://clljrs0o1okgp" +path="res://.godot/imported/中蓝衣小孩呼吸.gif-77092f5e8e61a10e8aff0a7f8840b954.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸.gif" +dest_files=["res://.godot/imported/中蓝衣小孩呼吸.gif-77092f5e8e61a10e8aff0a7f8840b954.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png new file mode 100644 index 00000000..94ff8ae8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png.import new file mode 100644 index 00000000..f58939df --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deebi18wyq1wj" +path="res://.godot/imported/0.png-2000ff4f8448f0963c71b8dd3882716f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/0.png" +dest_files=["res://.godot/imported/0.png-2000ff4f8448f0963c71b8dd3882716f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png new file mode 100644 index 00000000..37513d21 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png.import new file mode 100644 index 00000000..bf11983c --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3lbtcx6p8acv" +path="res://.godot/imported/1.png-1a37aa066973d14fd4da9e49da475693.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/1.png" +dest_files=["res://.godot/imported/1.png-1a37aa066973d14fd4da9e49da475693.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png new file mode 100644 index 00000000..94ff8ae8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png.import new file mode 100644 index 00000000..62b152f0 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chcpy0ijod33k" +path="res://.godot/imported/2.png-9b22859869e0873345bcef2a908fa3f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/中蓝衣小孩呼吸/2.png" +dest_files=["res://.godot/imported/2.png-9b22859869e0873345bcef2a908fa3f1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif new file mode 100755 index 00000000..0332165f Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif.import new file mode 100644 index 00000000..b8474133 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://dqjyk3ev1q6nt" +path="res://.godot/imported/右绿衣男孩呼吸.gif-09f38b5d32c567682877d21756d726b9.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸.gif" +dest_files=["res://.godot/imported/右绿衣男孩呼吸.gif-09f38b5d32c567682877d21756d726b9.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png new file mode 100644 index 00000000..238b5bc2 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png.import new file mode 100644 index 00000000..3cef14f9 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy4bxjqeue838" +path="res://.godot/imported/0.png-999b528dac246e5c8882ba56033bfe3a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/0.png" +dest_files=["res://.godot/imported/0.png-999b528dac246e5c8882ba56033bfe3a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png new file mode 100644 index 00000000..62c10ff0 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png.import new file mode 100644 index 00000000..4692c71c --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r8q2qrp7cil0" +path="res://.godot/imported/1.png-8b77da157f9ad456189bca0ea61291bb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/1.png" +dest_files=["res://.godot/imported/1.png-8b77da157f9ad456189bca0ea61291bb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png new file mode 100644 index 00000000..238b5bc2 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png.import new file mode 100644 index 00000000..8d07e275 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dufaxxkhgt27b" +path="res://.godot/imported/2.png-ac7bc0cbe21e96c06656639c66388f8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/右绿衣男孩呼吸/2.png" +dest_files=["res://.godot/imported/2.png-ac7bc0cbe21e96c06656639c66388f8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif new file mode 100755 index 00000000..d0e277bc Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif.import new file mode 100644 index 00000000..4cb70619 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://b3crn68rbgpws" +path="res://.godot/imported/左2黄衣男呼吸.gif-0a7652c62cbcac492dd8af2353c897bf.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸.gif" +dest_files=["res://.godot/imported/左2黄衣男呼吸.gif-0a7652c62cbcac492dd8af2353c897bf.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png new file mode 100644 index 00000000..8b14d4c3 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png.import new file mode 100644 index 00000000..85937964 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyk2lx08bhes2" +path="res://.godot/imported/0.png-be459214b0529b199265f9715eb5ab1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/0.png" +dest_files=["res://.godot/imported/0.png-be459214b0529b199265f9715eb5ab1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png new file mode 100644 index 00000000..b8684517 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png.import new file mode 100644 index 00000000..638a9c00 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3bo6iougpnpt" +path="res://.godot/imported/1.png-c656ec75597697a89e9fdafbe9ba1370.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/1.png" +dest_files=["res://.godot/imported/1.png-c656ec75597697a89e9fdafbe9ba1370.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png new file mode 100644 index 00000000..8b14d4c3 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png.import new file mode 100644 index 00000000..c36fb463 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4p61pega3kbf" +path="res://.godot/imported/2.png-464d410fcf4d1721b8cde3aa8d7a0c64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左2黄衣男呼吸/2.png" +dest_files=["res://.godot/imported/2.png-464d410fcf4d1721b8cde3aa8d7a0c64.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif new file mode 100755 index 00000000..fb4ed048 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif.import new file mode 100644 index 00000000..52d2282d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://cyjgm8vim88vs" +path="res://.godot/imported/左一绿衣男呼吸.gif-e6143052d9a57c2233a66a35db73836a.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸.gif" +dest_files=["res://.godot/imported/左一绿衣男呼吸.gif-e6143052d9a57c2233a66a35db73836a.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png new file mode 100644 index 00000000..3a758bd1 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png.import new file mode 100644 index 00000000..96884551 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crbt33v4co86p" +path="res://.godot/imported/0.png-082dbafc62aa04cf70ba8c1949373159.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/0.png" +dest_files=["res://.godot/imported/0.png-082dbafc62aa04cf70ba8c1949373159.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png new file mode 100644 index 00000000..750428b2 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png.import new file mode 100644 index 00000000..ea0f3f8b --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds536i1lpsnh3" +path="res://.godot/imported/1.png-05e4b902139d397e2f57e6d10e74812f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/1.png" +dest_files=["res://.godot/imported/1.png-05e4b902139d397e2f57e6d10e74812f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png new file mode 100644 index 00000000..3a758bd1 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png.import new file mode 100644 index 00000000..aae9f388 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsje8sy3nojy1" +path="res://.godot/imported/2.png-b9e697f663c335757e3602c5366aa478.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/左一绿衣男呼吸/2.png" +dest_files=["res://.godot/imported/2.png-b9e697f663c335757e3602c5366aa478.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png b/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png new file mode 100755 index 00000000..a9132cbb Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png.import b/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png.import new file mode 100644 index 00000000..68e9ebbf --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmedw8l7ew067" +path="res://.godot/imported/男孩要踢的球.png-1d03a6f3a8afc407e49d84627ba79a89.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png" +dest_files=["res://.godot/imported/男孩要踢的球.png-1d03a6f3a8afc407e49d84627ba79a89.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif new file mode 100755 index 00000000..fdbdd909 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif.import new file mode 100644 index 00000000..aad11cfe --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://couji28wtcvdr" +path="res://.godot/imported/男孩跑动-右.gif-a159797eddd8a26bb24da45c9c51c680.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右.gif" +dest_files=["res://.godot/imported/男孩跑动-右.gif-a159797eddd8a26bb24da45c9c51c680.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png new file mode 100644 index 00000000..5ddcc9cc Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png.import new file mode 100644 index 00000000..2dd4f66a --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0jbxpedkgndg" +path="res://.godot/imported/0.png-dca679c75a533632dd99dc17ef980da4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/0.png" +dest_files=["res://.godot/imported/0.png-dca679c75a533632dd99dc17ef980da4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png new file mode 100644 index 00000000..ac5cee23 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png.import new file mode 100644 index 00000000..ca080c49 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w4bfs3sojpd" +path="res://.godot/imported/1.png-e16f1b721f741a55ada68684ff87c10f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/1.png" +dest_files=["res://.godot/imported/1.png-e16f1b721f741a55ada68684ff87c10f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png new file mode 100644 index 00000000..6a2b4894 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png.import new file mode 100644 index 00000000..7fbaff70 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c42xie6qtym1e" +path="res://.godot/imported/2.png-650514c059ab24db6f300ef331eb12a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/2.png" +dest_files=["res://.godot/imported/2.png-650514c059ab24db6f300ef331eb12a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png new file mode 100644 index 00000000..433bc6f7 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png.import new file mode 100644 index 00000000..5e51e908 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://223pqehes7fw" +path="res://.godot/imported/3.png-550a7fdfe886326801f7635aca0bcd03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/3.png" +dest_files=["res://.godot/imported/3.png-550a7fdfe886326801f7635aca0bcd03.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png new file mode 100644 index 00000000..e075936e Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png.import new file mode 100644 index 00000000..c3ced24b --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt7b74bfp4t75" +path="res://.godot/imported/4.png-ba91fa408f1a41375ea6931184695e69.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/4.png" +dest_files=["res://.godot/imported/4.png-ba91fa408f1a41375ea6931184695e69.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png new file mode 100644 index 00000000..6ce4fd8f Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png.import new file mode 100644 index 00000000..2fa21c08 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb4ub1kngg0or" +path="res://.godot/imported/5.png-bc715ef7ce03390a999f49f40438b129.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/5.png" +dest_files=["res://.godot/imported/5.png-bc715ef7ce03390a999f49f40438b129.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png new file mode 100644 index 00000000..924cac2d Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png.import new file mode 100644 index 00000000..78c5cd56 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vo0ah8q2orws" +path="res://.godot/imported/6.png-b94bfd66c3ba7bc8005f0f00fd97b347.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/6.png" +dest_files=["res://.godot/imported/6.png-b94bfd66c3ba7bc8005f0f00fd97b347.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png new file mode 100644 index 00000000..ac25b49e Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png.import new file mode 100644 index 00000000..cadea002 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b64t3xk7epc8w" +path="res://.godot/imported/7.png-9140ae0bad5411dda93dd2279ba8d00e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-右/7.png" +dest_files=["res://.godot/imported/7.png-9140ae0bad5411dda93dd2279ba8d00e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif new file mode 100755 index 00000000..0db2973a Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif.import new file mode 100644 index 00000000..d06f192c --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://dx5npodddqcmw" +path="res://.godot/imported/男孩跑动-左.gif-842438168ed91e73a4f7d2c60ed0054d.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左.gif" +dest_files=["res://.godot/imported/男孩跑动-左.gif-842438168ed91e73a4f7d2c60ed0054d.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png new file mode 100644 index 00000000..738e4e9d Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png.import new file mode 100644 index 00000000..fe923103 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1p0w8b0fdsk1" +path="res://.godot/imported/0.png-2bfd4a0cf0547aa154f07cdfd207523b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/0.png" +dest_files=["res://.godot/imported/0.png-2bfd4a0cf0547aa154f07cdfd207523b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png new file mode 100644 index 00000000..8c6ea44a Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png.import new file mode 100644 index 00000000..ae67e6d6 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://01qufu3ddoi" +path="res://.godot/imported/1.png-19c082813c9c13ead2cf9ce6f4c4b92b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/1.png" +dest_files=["res://.godot/imported/1.png-19c082813c9c13ead2cf9ce6f4c4b92b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png new file mode 100644 index 00000000..4e830041 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png.import new file mode 100644 index 00000000..0bd9f37a --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h51ek708aah1" +path="res://.godot/imported/2.png-20610e689097ae1f4ff2b2027bae7f65.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/2.png" +dest_files=["res://.godot/imported/2.png-20610e689097ae1f4ff2b2027bae7f65.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png new file mode 100644 index 00000000..3f8e9f18 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png.import new file mode 100644 index 00000000..e5ed1e41 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c50cr55a20v51" +path="res://.godot/imported/3.png-4a9380c737e6d562072528909bd4c82f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/3.png" +dest_files=["res://.godot/imported/3.png-4a9380c737e6d562072528909bd4c82f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png new file mode 100644 index 00000000..199fb347 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png.import new file mode 100644 index 00000000..ad9b5ac8 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr8f4u8qu58tm" +path="res://.godot/imported/4.png-698b0107d34762a53b7f5d46c315cfbb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/4.png" +dest_files=["res://.godot/imported/4.png-698b0107d34762a53b7f5d46c315cfbb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png new file mode 100644 index 00000000..e7a20548 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png.import new file mode 100644 index 00000000..13a650cd --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxg616utolf3q" +path="res://.godot/imported/5.png-f5664fe899f89c6757a523a9a57172f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/5.png" +dest_files=["res://.godot/imported/5.png-f5664fe899f89c6757a523a9a57172f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png new file mode 100644 index 00000000..e00f79d2 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png.import new file mode 100644 index 00000000..3ba65ad0 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb5cajeycnx1j" +path="res://.godot/imported/6.png-d33156b2483e0ef59b3d97d72c497e28.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/6.png" +dest_files=["res://.godot/imported/6.png-d33156b2483e0ef59b3d97d72c497e28.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png new file mode 100644 index 00000000..38c19874 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png.import new file mode 100644 index 00000000..637cb632 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn4mg4egmfmo8" +path="res://.godot/imported/7.png-23e7c0c92a7e1f5983ccc515608111e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动-左/7.png" +dest_files=["res://.godot/imported/7.png-23e7c0c92a7e1f5983ccc515608111e9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif new file mode 100755 index 00000000..9824830d Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif.import new file mode 100644 index 00000000..5ec0aaee --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://wufnauy0uxpw" +path="res://.godot/imported/男孩跑动停球.gif-7e8fd3727ad5f108210a439356569a39.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球.gif" +dest_files=["res://.godot/imported/男孩跑动停球.gif-7e8fd3727ad5f108210a439356569a39.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png new file mode 100644 index 00000000..84cb3e84 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png.import new file mode 100644 index 00000000..3d6967e4 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvdxmweucfmuv" +path="res://.godot/imported/0.png-bd2fe5f79f9222f388e76437fc897611.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/0.png" +dest_files=["res://.godot/imported/0.png-bd2fe5f79f9222f388e76437fc897611.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png new file mode 100644 index 00000000..829af21f Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png.import new file mode 100644 index 00000000..11a6fa3d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7iipsk4yqqoq" +path="res://.godot/imported/1.png-1353d96ad2b18e946ae7767bc1230d79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/1.png" +dest_files=["res://.godot/imported/1.png-1353d96ad2b18e946ae7767bc1230d79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png new file mode 100644 index 00000000..08150f11 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png.import new file mode 100644 index 00000000..649e5733 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beeu8pkquxxrm" +path="res://.godot/imported/2.png-8640cba9438eba3fd51f8fea88a545b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/2.png" +dest_files=["res://.godot/imported/2.png-8640cba9438eba3fd51f8fea88a545b9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png new file mode 100644 index 00000000..e4aac5f7 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png.import new file mode 100644 index 00000000..73226123 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0adu3teqqo56" +path="res://.godot/imported/3.png-e8acbfcaa079e6afa64ee1229e2a5e76.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/3.png" +dest_files=["res://.godot/imported/3.png-e8acbfcaa079e6afa64ee1229e2a5e76.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png new file mode 100644 index 00000000..500bb5c9 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png.import new file mode 100644 index 00000000..72df36ca --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gwibpf3nnyig" +path="res://.godot/imported/4.png-23ec3d412214b77186dea2d941ddde9d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/4.png" +dest_files=["res://.godot/imported/4.png-23ec3d412214b77186dea2d941ddde9d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png new file mode 100644 index 00000000..8714918e Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png.import new file mode 100644 index 00000000..ebedce92 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0d7551536vjt" +path="res://.godot/imported/5.png-2f7d311a53208965373d46b83b24d06d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/5.png" +dest_files=["res://.godot/imported/5.png-2f7d311a53208965373d46b83b24d06d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png new file mode 100644 index 00000000..95555b4d Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png.import b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png.import new file mode 100644 index 00000000..435de1a9 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q5227y5lm2uo" +path="res://.godot/imported/6.png-66f9e207dfd68f80280572712f6415e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/男孩跑动停球/6.png" +dest_files=["res://.godot/imported/6.png-66f9e207dfd68f80280572712f6415e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千.gif b/asset/art/gif/c01_孤儿院长廊/秋千.gif new file mode 100755 index 00000000..e558ae56 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千.gif.import b/asset/art/gif/c01_孤儿院长廊/秋千.gif.import new file mode 100644 index 00000000..87f77136 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://b7mbx3yfi3fn" +path="res://.godot/imported/秋千.gif-93ced82045192fd606947f37fc5c3040.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千.gif" +dest_files=["res://.godot/imported/秋千.gif-93ced82045192fd606947f37fc5c3040.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/0.png b/asset/art/gif/c01_孤儿院长廊/秋千/0.png new file mode 100644 index 00000000..9ad25d99 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/0.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/0.png.import new file mode 100644 index 00000000..78433860 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://04kgsmonjhjw" +path="res://.godot/imported/0.png-53db0fd3e561179a493df8878f4470d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/0.png" +dest_files=["res://.godot/imported/0.png-53db0fd3e561179a493df8878f4470d3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/1.png b/asset/art/gif/c01_孤儿院长廊/秋千/1.png new file mode 100644 index 00000000..77cadc54 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/1.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/1.png.import new file mode 100644 index 00000000..ed216091 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bf6gf0tcq5kon" +path="res://.godot/imported/1.png-bff25844df386ca57ef17cfd6846d2ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/1.png" +dest_files=["res://.godot/imported/1.png-bff25844df386ca57ef17cfd6846d2ae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/2.png b/asset/art/gif/c01_孤儿院长廊/秋千/2.png new file mode 100644 index 00000000..9cccd52f Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/2.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/2.png.import new file mode 100644 index 00000000..6772dc6d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4iv7oqg8tyx7" +path="res://.godot/imported/2.png-12acd6ef8fb6667a281770498fdcdecc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/2.png" +dest_files=["res://.godot/imported/2.png-12acd6ef8fb6667a281770498fdcdecc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/3.png b/asset/art/gif/c01_孤儿院长廊/秋千/3.png new file mode 100644 index 00000000..f8b838d7 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/3.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/3.png.import new file mode 100644 index 00000000..333a04fd --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f3wx5c463j3u" +path="res://.godot/imported/3.png-888b90ec974cfb09feb32ea5b623523a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/3.png" +dest_files=["res://.godot/imported/3.png-888b90ec974cfb09feb32ea5b623523a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/4.png b/asset/art/gif/c01_孤儿院长廊/秋千/4.png new file mode 100644 index 00000000..b374368d Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/4.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/4.png.import new file mode 100644 index 00000000..5bfa8332 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjat1c7gw5kf" +path="res://.godot/imported/4.png-15b97de18476ffbb0ea24d02e393bce7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/4.png" +dest_files=["res://.godot/imported/4.png-15b97de18476ffbb0ea24d02e393bce7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/5.png b/asset/art/gif/c01_孤儿院长廊/秋千/5.png new file mode 100644 index 00000000..d5f092ca Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/5.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/5.png.import new file mode 100644 index 00000000..af85191e --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgk1ior713oje" +path="res://.godot/imported/5.png-d18b74d56517ade2eef5353843ec5355.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/5.png" +dest_files=["res://.godot/imported/5.png-d18b74d56517ade2eef5353843ec5355.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/6.png b/asset/art/gif/c01_孤儿院长廊/秋千/6.png new file mode 100644 index 00000000..2a1d1ddb Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/秋千/6.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/秋千/6.png.import b/asset/art/gif/c01_孤儿院长廊/秋千/6.png.import new file mode 100644 index 00000000..ab400865 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/秋千/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctjkh5vheewvr" +path="res://.godot/imported/6.png-ee18ba2f4364b7a27f5c814c492d2f4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/秋千/6.png" +dest_files=["res://.godot/imported/6.png-ee18ba2f4364b7a27f5c814c492d2f4e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif new file mode 100755 index 00000000..e39ffefe Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif.import new file mode 100644 index 00000000..5da90745 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://dmmwj8rgtn6m2" +path="res://.godot/imported/红衣姑娘呼吸.gif-45a77b5517e8c09c75182d1180553909.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸.gif" +dest_files=["res://.godot/imported/红衣姑娘呼吸.gif-45a77b5517e8c09c75182d1180553909.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png new file mode 100644 index 00000000..c174cbed Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png.import new file mode 100644 index 00000000..fb272ae6 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxjuy5gut2fcy" +path="res://.godot/imported/0.png-04d30f1ec5d2930363e7f3fd89527e48.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/0.png" +dest_files=["res://.godot/imported/0.png-04d30f1ec5d2930363e7f3fd89527e48.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png new file mode 100644 index 00000000..4d7ab5b8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png.import new file mode 100644 index 00000000..e5eb49fa --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8tyfyxc5lhfd" +path="res://.godot/imported/1.png-6513b0a5010684cd4e2789905db2dbe6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/1.png" +dest_files=["res://.godot/imported/1.png-6513b0a5010684cd4e2789905db2dbe6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png new file mode 100644 index 00000000..c174cbed Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png.import new file mode 100644 index 00000000..ef75ba9a --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6grsr2bosrd6" +path="res://.godot/imported/2.png-967fc7e77dae2a69a7901eb677f7b70a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘呼吸/2.png" +dest_files=["res://.godot/imported/2.png-967fc7e77dae2a69a7901eb677f7b70a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif new file mode 100755 index 00000000..902f6057 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif.import new file mode 100644 index 00000000..89429f43 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://5bk6igtquhrq" +path="res://.godot/imported/红衣姑娘抬头.gif-6a62375e1d3115ff928a8fba7ebd7b13.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头.gif" +dest_files=["res://.godot/imported/红衣姑娘抬头.gif-6a62375e1d3115ff928a8fba7ebd7b13.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png new file mode 100644 index 00000000..7d3187da Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png.import new file mode 100644 index 00000000..6e12af0f --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctsjybuvdlwsf" +path="res://.godot/imported/0.png-433c38271aa8424e4dc052f6cd834097.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/0.png" +dest_files=["res://.godot/imported/0.png-433c38271aa8424e4dc052f6cd834097.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png new file mode 100644 index 00000000..4369bef8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png.import new file mode 100644 index 00000000..df51f808 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp260tmxdwsr6" +path="res://.godot/imported/1.png-3310d98f5cdff187db8d23029fd75290.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/1.png" +dest_files=["res://.godot/imported/1.png-3310d98f5cdff187db8d23029fd75290.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png new file mode 100644 index 00000000..7e346ede Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png.import new file mode 100644 index 00000000..87e1e86c --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqm0khmdwhfvu" +path="res://.godot/imported/2.png-3ae7d2848862a163b7d0163dff53585c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/2.png" +dest_files=["res://.godot/imported/2.png-3ae7d2848862a163b7d0163dff53585c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png new file mode 100644 index 00000000..4369bef8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png.import new file mode 100644 index 00000000..d70e307a --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt67aqn7wamys" +path="res://.godot/imported/3.png-0f9102697dcf27268ec6fb9907220c4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/3.png" +dest_files=["res://.godot/imported/3.png-0f9102697dcf27268ec6fb9907220c4d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png new file mode 100644 index 00000000..7d3187da Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png.import b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png.import new file mode 100644 index 00000000..cc16a3f1 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvmfo5uus2862" +path="res://.godot/imported/4.png-d8fa79fe1920669036347cb7cd09983e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/红衣姑娘抬头/4.png" +dest_files=["res://.godot/imported/4.png-d8fa79fe1920669036347cb7cd09983e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板.gif b/asset/art/gif/c01_孤儿院长廊/跷跷板.gif new file mode 100755 index 00000000..03f2c2fa Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板.gif.import b/asset/art/gif/c01_孤儿院长廊/跷跷板.gif.import new file mode 100644 index 00000000..1979235b --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://bwy2of08hpyh3" +path="res://.godot/imported/跷跷板.gif-ef23f1aa2fee0f7bf50c4d2ac8b4a98a.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板.gif" +dest_files=["res://.godot/imported/跷跷板.gif-ef23f1aa2fee0f7bf50c4d2ac8b4a98a.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png new file mode 100644 index 00000000..896f4449 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png.import new file mode 100644 index 00000000..dc84514e --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://di7i61uuwl0xk" +path="res://.godot/imported/0.png-3425f744e6b1bba06496e671512b5bab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/0.png" +dest_files=["res://.godot/imported/0.png-3425f744e6b1bba06496e671512b5bab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png new file mode 100644 index 00000000..e33f0288 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png.import new file mode 100644 index 00000000..1b34ff0d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baw1yipsyluf" +path="res://.godot/imported/1.png-c1b2380ce827a54404dbe82e13640c77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/1.png" +dest_files=["res://.godot/imported/1.png-c1b2380ce827a54404dbe82e13640c77.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png new file mode 100644 index 00000000..f7b2e45e Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png.import new file mode 100644 index 00000000..38f4714d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dn6k78h7cmefq" +path="res://.godot/imported/2.png-fcacc1e7943ee67bafb81d4f27843c77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/2.png" +dest_files=["res://.godot/imported/2.png-fcacc1e7943ee67bafb81d4f27843c77.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png new file mode 100644 index 00000000..a9903f73 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png.import new file mode 100644 index 00000000..b3cb8145 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqjykt5y6guux" +path="res://.godot/imported/3.png-d7bf5ff0c8afff8d0f666b81718b45cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/3.png" +dest_files=["res://.godot/imported/3.png-d7bf5ff0c8afff8d0f666b81718b45cd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png new file mode 100644 index 00000000..b00ab5b5 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png.import new file mode 100644 index 00000000..dd4b36aa --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqj6al8d4je5j" +path="res://.godot/imported/4.png-fd2317ae6f3feff1c3f93c983b19acff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/4.png" +dest_files=["res://.godot/imported/4.png-fd2317ae6f3feff1c3f93c983b19acff.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png b/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png new file mode 100644 index 00000000..bb368e45 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png.import b/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png.import new file mode 100644 index 00000000..bc94db31 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/跷跷板/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr7unlv3ef07e" +path="res://.godot/imported/5.png-a1adf16b9c0175ce44ff9d54192bacf4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/跷跷板/5.png" +dest_files=["res://.godot/imported/5.png-a1adf16b9c0175ce44ff9d54192bacf4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif b/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif new file mode 100755 index 00000000..b8063502 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif.import b/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif.import new file mode 100644 index 00000000..a530d52f --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长呼吸.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://dcmdd0yesd6t0" +path="res://.godot/imported/院长呼吸.gif-fcbd46d239df854b7c1423a75bc21f9f.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长呼吸.gif" +dest_files=["res://.godot/imported/院长呼吸.gif-fcbd46d239df854b7c1423a75bc21f9f.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png b/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png new file mode 100644 index 00000000..44157a9c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png.import b/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png.import new file mode 100644 index 00000000..78af6e62 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l2yhy3at6mqb" +path="res://.godot/imported/0.png-fe388378338b79368c20d1d274c0c58f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/0.png" +dest_files=["res://.godot/imported/0.png-fe388378338b79368c20d1d274c0c58f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png b/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png new file mode 100644 index 00000000..3bb11196 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png.import b/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png.import new file mode 100644 index 00000000..d09c0c95 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csodb0wddm8lj" +path="res://.godot/imported/1.png-86c5cf4cb437482ae222bac7629cfa50.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/1.png" +dest_files=["res://.godot/imported/1.png-86c5cf4cb437482ae222bac7629cfa50.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png b/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png new file mode 100644 index 00000000..44157a9c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png.import b/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png.import new file mode 100644 index 00000000..db907e8f --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gwnt7ltvgp8g" +path="res://.godot/imported/2.png-453fd10c3b7262f1fc6ee571f7cdc9e3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长呼吸/2.png" +dest_files=["res://.godot/imported/2.png-453fd10c3b7262f1fc6ee571f7cdc9e3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头.gif b/asset/art/gif/c01_孤儿院长廊/院长抬头.gif new file mode 100755 index 00000000..9f6e300a Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头.gif.import b/asset/art/gif/c01_孤儿院长廊/院长抬头.gif.import new file mode 100644 index 00000000..f11ae091 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://bfcs168lld88c" +path="res://.godot/imported/院长抬头.gif-f5e5837174ad65a223e2e5d571a4b2cb.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头.gif" +dest_files=["res://.godot/imported/院长抬头.gif-f5e5837174ad65a223e2e5d571a4b2cb.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png new file mode 100644 index 00000000..44157a9c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png.import new file mode 100644 index 00000000..ca8102b2 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bidkarpvbdrxl" +path="res://.godot/imported/0.png-c9a74e79bac7f3f0067d00c9ba417dc1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/0.png" +dest_files=["res://.godot/imported/0.png-c9a74e79bac7f3f0067d00c9ba417dc1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png new file mode 100644 index 00000000..63d210b7 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png.import new file mode 100644 index 00000000..f8acdb47 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcw3iqr3j1mr5" +path="res://.godot/imported/1.png-a3fce9ec7f24f73b3b5245e5abed51ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/1.png" +dest_files=["res://.godot/imported/1.png-a3fce9ec7f24f73b3b5245e5abed51ce.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png new file mode 100644 index 00000000..7e2a2979 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png.import new file mode 100644 index 00000000..e5dcbb54 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dysfva41xgtpc" +path="res://.godot/imported/2.png-b5db9b538a9a1673b1bef0c2139d0dbf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/2.png" +dest_files=["res://.godot/imported/2.png-b5db9b538a9a1673b1bef0c2139d0dbf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png new file mode 100644 index 00000000..e420f07c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png.import new file mode 100644 index 00000000..ec1cf977 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bg6j5vv8fyo32" +path="res://.godot/imported/3.png-732a526cb85b968a77073c31d4f50609.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/3.png" +dest_files=["res://.godot/imported/3.png-732a526cb85b968a77073c31d4f50609.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png new file mode 100644 index 00000000..7e2a2979 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png.import new file mode 100644 index 00000000..e0e0f4ba --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpwc5fe0eq6t1" +path="res://.godot/imported/4.png-f4b51fc660ffed546e9d94527e360df9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/4.png" +dest_files=["res://.godot/imported/4.png-f4b51fc660ffed546e9d94527e360df9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png new file mode 100644 index 00000000..63d210b7 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png.import new file mode 100644 index 00000000..0d5dfcea --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://74odw5h28ec5" +path="res://.godot/imported/5.png-7245e9410752d9a5885c1816c6ae50f2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/5.png" +dest_files=["res://.godot/imported/5.png-7245e9410752d9a5885c1816c6ae50f2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png b/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png new file mode 100644 index 00000000..44157a9c Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png.import b/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png.import new file mode 100644 index 00000000..6e18142b --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长抬头/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctso1mn5p0hq" +path="res://.godot/imported/6.png-767ce29a5b1d3ab11e1172ea9870195e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长抬头/6.png" +dest_files=["res://.godot/imported/6.png-767ce29a5b1d3ab11e1172ea9870195e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书.gif b/asset/art/gif/c01_孤儿院长廊/院长翻书.gif new file mode 100755 index 00000000..a4ec3784 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书.gif differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书.gif.import b/asset/art/gif/c01_孤儿院长廊/院长翻书.gif.import new file mode 100644 index 00000000..4876646d --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://bvw1cwsgage62" +path="res://.godot/imported/院长翻书.gif-e50639c35e764343c5cebb5c2b2e7719.tres" + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书.gif" +dest_files=["res://.godot/imported/院长翻书.gif-e50639c35e764343c5cebb5c2b2e7719.tres"] + +[params] + diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png b/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png new file mode 100644 index 00000000..b6786151 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png.import b/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png.import new file mode 100644 index 00000000..aa7a9b14 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj7vhe1h1igjd" +path="res://.godot/imported/0.png-875b71c3fde02a4504e36eb7f32496de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书/0.png" +dest_files=["res://.godot/imported/0.png-875b71c3fde02a4504e36eb7f32496de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png b/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png new file mode 100644 index 00000000..8f9ae7d3 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png.import b/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png.import new file mode 100644 index 00000000..0d7991dc --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctcmkw4kunar6" +path="res://.godot/imported/1.png-24cfd64e83b02419b7ae0c1f1adebe91.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书/1.png" +dest_files=["res://.godot/imported/1.png-24cfd64e83b02419b7ae0c1f1adebe91.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png b/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png new file mode 100644 index 00000000..67a8e1c8 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png.import b/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png.import new file mode 100644 index 00000000..4fa9cdb2 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsnojnlxqcd0i" +path="res://.godot/imported/2.png-2ea439b1a78039e0510a1aac1ef77f47.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书/2.png" +dest_files=["res://.godot/imported/2.png-2ea439b1a78039e0510a1aac1ef77f47.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png b/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png new file mode 100644 index 00000000..f6ca5612 Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png.import b/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png.import new file mode 100644 index 00000000..9a6b9545 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3b346oms2h7u" +path="res://.godot/imported/3.png-e6c08e523213137284fa49e716d7ec5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书/3.png" +dest_files=["res://.godot/imported/3.png-e6c08e523213137284fa49e716d7ec5f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png b/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png new file mode 100644 index 00000000..da08962a Binary files /dev/null and b/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png differ diff --git a/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png.import b/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png.import new file mode 100644 index 00000000..ddf86907 --- /dev/null +++ b/asset/art/gif/c01_孤儿院长廊/院长翻书/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqybiodyok0v0" +path="res://.godot/imported/4.png-41de49d5e1fb56b6f56a5f714607d61b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c01_孤儿院长廊/院长翻书/4.png" +dest_files=["res://.godot/imported/4.png-41de49d5e1fb56b6f56a5f714607d61b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif b/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif deleted file mode 100644 index 792f9bcf..00000000 Binary files a/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif and /dev/null differ diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif.import b/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif.import deleted file mode 100644 index 02b2f98e..00000000 --- a/asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://c365bkp2y53f3" -path="res://.godot/imported/【胖小孩背着残疾小孩】-侧面呼吸.gif-41cf8f62c31ce34b394d9506a4d3fb39.tres" - -[deps] - -source_file="res://asset/art/gif/【胖小孩背着残疾小孩】-侧面呼吸.gif" -dest_files=["res://.godot/imported/【胖小孩背着残疾小孩】-侧面呼吸.gif-41cf8f62c31ce34b394d9506a4d3fb39.tres"] - -[params] - diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif b/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif deleted file mode 100644 index 1abd9c6f..00000000 Binary files a/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif and /dev/null differ diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif.import b/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif.import deleted file mode 100644 index 3e9a2e95..00000000 --- a/asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://cqi3cn2mbebj" -path="res://.godot/imported/【胖小孩背着残疾小孩】-呼吸.gif-c79ab4a31a499090e54afdff7675adfe.tres" - -[deps] - -source_file="res://asset/art/gif/【胖小孩背着残疾小孩】-呼吸.gif" -dest_files=["res://.godot/imported/【胖小孩背着残疾小孩】-呼吸.gif-c79ab4a31a499090e54afdff7675adfe.tres"] - -[params] - diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif b/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif deleted file mode 100644 index 0a2488f8..00000000 Binary files a/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif and /dev/null differ diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif.import b/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif.import deleted file mode 100644 index 98c3bc0d..00000000 --- a/asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://deor6xh8ho3fh" -path="res://.godot/imported/【胖小孩背着残疾小孩】-正面呼吸.gif-9675740292b31deb89f7a836f70478f0.tres" - -[deps] - -source_file="res://asset/art/gif/【胖小孩背着残疾小孩】-正面呼吸.gif" -dest_files=["res://.godot/imported/【胖小孩背着残疾小孩】-正面呼吸.gif-9675740292b31deb89f7a836f70478f0.tres"] - -[params] - diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif b/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif deleted file mode 100644 index e7d47332..00000000 Binary files a/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif and /dev/null differ diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif.import b/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif.import deleted file mode 100644 index d8011785..00000000 --- a/asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://xk4fvx44lu7e" -path="res://.godot/imported/【胖小孩背着残疾小孩】-正面抖肩.gif-4259b71a0f04bca96bf0e07177319913.tres" - -[deps] - -source_file="res://asset/art/gif/【胖小孩背着残疾小孩】-正面抖肩.gif" -dest_files=["res://.godot/imported/【胖小孩背着残疾小孩】-正面抖肩.gif-4259b71a0f04bca96bf0e07177319913.tres"] - -[params] - diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif b/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif deleted file mode 100644 index b582023a..00000000 Binary files a/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif and /dev/null differ diff --git a/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif.import b/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif.import deleted file mode 100644 index 627a197c..00000000 --- a/asset/art/gif/【胖小孩背着残疾小孩】-画画.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://bivlhoec73pq" -path="res://.godot/imported/【胖小孩背着残疾小孩】-画画.gif-3b458561a577cef811ccd651b4b69272.tres" - -[deps] - -source_file="res://asset/art/gif/【胖小孩背着残疾小孩】-画画.gif" -dest_files=["res://.godot/imported/【胖小孩背着残疾小孩】-画画.gif-3b458561a577cef811ccd651b4b69272.tres"] - -[params] - diff --git a/asset/art/gif/右1跑动男孩.gif b/asset/art/gif/右1跑动男孩.gif deleted file mode 100644 index ffbf43a2..00000000 Binary files a/asset/art/gif/右1跑动男孩.gif and /dev/null differ diff --git a/asset/art/gif/右1跑动男孩.gif.import b/asset/art/gif/右1跑动男孩.gif.import deleted file mode 100644 index c650f831..00000000 --- a/asset/art/gif/右1跑动男孩.gif.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="gif.animated.texture.plugin" -type="SpriteFrames" -uid="uid://deniyxsdbrt1p" -path="res://.godot/imported/右1跑动男孩.gif-9079138d4476d9c9b2c631defe192e44.tres" - -[deps] - -source_file="res://asset/art/gif/右1跑动男孩.gif" -dest_files=["res://.godot/imported/右1跑动男孩.gif-9079138d4476d9c9b2c631defe192e44.tres"] - -[params] - diff --git a/asset/art/prop/c01/信碎片1.png b/asset/art/prop/c01/信碎片1.png new file mode 100644 index 00000000..103387e2 Binary files /dev/null and b/asset/art/prop/c01/信碎片1.png differ diff --git a/asset/art/prop/c01/信碎片1.png.import b/asset/art/prop/c01/信碎片1.png.import new file mode 100644 index 00000000..1f888bd8 --- /dev/null +++ b/asset/art/prop/c01/信碎片1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tj8yr40kemev" +path="res://.godot/imported/信碎片1.png-1aa16d5f717d05690b69b98c4e2ebe8a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/prop/c01/信碎片1.png" +dest_files=["res://.godot/imported/信碎片1.png-1aa16d5f717d05690b69b98c4e2ebe8a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png b/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png new file mode 100755 index 00000000..a5c191c5 Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png.import new file mode 100644 index 00000000..693e8ad8 --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bptk6i6rnolir" +path="res://.godot/imported/bg_院子长背景.png-cc5632510020e77f4ef511e83742f36b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png" +dest_files=["res://.godot/imported/bg_院子长背景.png-cc5632510020e77f4ef511e83742f36b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png new file mode 100755 index 00000000..d7d1c09b Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png.import new file mode 100644 index 00000000..81be4ece --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bllt2wycchkp2" +path="res://.godot/imported/e_红柱子.png-3b3df09033e80c5004a823be60d0278f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png" +dest_files=["res://.godot/imported/e_红柱子.png-3b3df09033e80c5004a823be60d0278f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png new file mode 100755 index 00000000..303789a6 Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png.import new file mode 100644 index 00000000..26e64a47 --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h536hwonbrut" +path="res://.godot/imported/e_院长周围凳子.png-6d23bd91162aaf49004c30a86226579e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png" +dest_files=["res://.godot/imported/e_院长周围凳子.png-6d23bd91162aaf49004c30a86226579e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif b/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif new file mode 100755 index 00000000..55d3d47c Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif.import new file mode 100644 index 00000000..c6077790 --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://o5poucsu57l7" +path="res://.godot/imported/fg_花圃.gif-1cbdaf33bbc2d3e1d8081e40e5f51799.tres" + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/fg_花圃.gif" +dest_files=["res://.godot/imported/fg_花圃.gif-1cbdaf33bbc2d3e1d8081e40e5f51799.tres"] + +[params] + diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png b/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png new file mode 100755 index 00000000..c7409c45 Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png.import new file mode 100644 index 00000000..a260f8f8 --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c40gmvqw3vd88" +path="res://.godot/imported/l_长廊光.png-df9363ba0cabf2bc3bdb06df31f2d421.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png" +dest_files=["res://.godot/imported/l_长廊光.png-df9363ba0cabf2bc3bdb06df31f2d421.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif b/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif new file mode 100755 index 00000000..742749e5 Binary files /dev/null and b/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif differ diff --git a/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif.import b/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif.import new file mode 100644 index 00000000..8aae02a6 --- /dev/null +++ b/asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://cemn2bnebsfko" +path="res://.godot/imported/全局参考.gif-0ca14a26150aa2bd308777c5439a5c5e.tres" + +[deps] + +source_file="res://asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif" +dest_files=["res://.godot/imported/全局参考.gif-0ca14a26150aa2bd308777c5439a5c5e.tres"] + +[params] + diff --git a/asset/art/ui/prop遮罩.png b/asset/art/ui/prop遮罩.png new file mode 100755 index 00000000..c230156b Binary files /dev/null and b/asset/art/ui/prop遮罩.png differ diff --git a/asset/art/ui/prop遮罩.png.import b/asset/art/ui/prop遮罩.png.import new file mode 100644 index 00000000..52749b4f --- /dev/null +++ b/asset/art/ui/prop遮罩.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgghff16powfg" +path="res://.godot/imported/prop遮罩.png-f0336d91e6b2ddd4060007c0fc87eea0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/ui/prop遮罩.png" +dest_files=["res://.godot/imported/prop遮罩.png-f0336d91e6b2ddd4060007c0fc87eea0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/dialogue/c01.csv b/asset/dialogue/c01.csv index c627a203..c45b5eb7 100644 --- a/asset/dialogue/c01.csv +++ b/asset/dialogue/c01.csv @@ -1,4 +1,6 @@ keys,zh_CN,en,_character,_notes,_tags +c01_s05_院长房间1,百岁光阴⼀梦蝶,重回⾸往事堪嗟。今⽇春来,明朝花谢。急罚盏夜阑灯灭。,,,, +c01_s05_院长房间2,(疑惑——),,吕萍,, c01_s01_黑雾_001,“时辰将至,锁魂障眼,自欺欺人”,,雾,note,[#shake] c01_s01_黑雾_002,“孤魂也罢,恶鬼亦然”,,雾,,[#shake] c01_s01_黑雾_003,“三魂皆不可阙,将它们都带回来吧”,,雾,,[#shake] @@ -39,3 +41,6 @@ c01_吕萍与车夫_27,“哎哟,谢什么”,,车夫,, c01_吕萍与车夫_28,“哦,位子上这份信是你的吧,别忘记了”,,车夫,, c01_吕萍与车夫_29,“对的对的,差点就忘记了,谢谢师傅,新年快乐”,,吕萍,, c01_吕萍与车夫_30,“新年快乐”,,车夫,, +c01_s05_夜行船1,(念诵夜行船——),,吕萍,,[#wait=4] +c01_s05_夜行船2,(疑惑——),,吕萍,, +音效_开门,开门,,音效,, diff --git a/asset/dialogue/c01.dialogue b/asset/dialogue/c01.dialogue index c55301a2..81e71bf3 100644 --- a/asset/dialogue/c01.dialogue +++ b/asset/dialogue/c01.dialogue @@ -76,3 +76,12 @@ 吕萍: “对的对的,差点就忘记了,谢谢师傅,新年快乐” [ID:c01_吕萍与车夫_29] 车夫: “新年快乐” [ID:c01_吕萍与车夫_30] => END + +~ c01_s05_院长房间_开场 +吕萍: (念诵夜行船——)[#wait=4] [ID:c01_s05_夜行船1] +吕萍: (疑惑——)[ID:c01_s05_夜行船2] +=> END + +~ c01_s05_院长房间_开门 +音效: 开门 [ID:音效_开门] +=> END diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index a42b58e6..28e5f14f 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -36,8 +36,14 @@ ui_获得,获得,,,, ui_退出,退出,Exit,,, ui_阅读,阅读,Read,,, ui_收起,收起,Hold,,, +ui_夜行船1,百岁光阴一梦蝶。,,,, +ui_夜行船2,重回⾸往事堪嗟。,,,, +ui_夜行船3,今⽇春来。明朝花谢。,,,, +ui_夜行船4,急罚盏夜阑灯灭。,,,, +ui_夜行船5,夜行船,,,, prop_空手,空手,,,, prop_令牌,令牌,,,,[#texture=c01/令牌物品.png][#inspect=c01/令牌.png] +prop_信碎片1,信碎片(一),,,,[#texture=c01/信碎片1.png] prop_装有灵魂的令牌,装有灵魂的令牌,,,,[#texture=c01/装有灵魂的令牌物品.png][#inspect=c01/装有灵魂的令牌.png] prop_小猫玩具的脑袋,小猫玩具的脑袋,Catty's Head,,,[#texture=c02/小猫玩具脑袋物品.png][#inspect=c02/小猫玩具脑袋.png] prop_绳子,绳子,Rope,,,[#texture=c02/绳子物品.png][#inspect=c02/绳子.png] @@ -55,8 +61,12 @@ notes_挂画,挂画,,,, notes_相框,相框,,,, notes_寻人启事,寻人启事,,,, c01_鸡毛掸子,这是鸡毛掸子吗?,,,, -c01_院长书桌,书桌上好像有本书,,,, -c01_院长座钟,唔...下午一点了,,,, +c01_院长书桌,桌上放着纸笔,,,, +c01_院长床,这本书已经看过了,,,, +c01_院长座钟,"1917年10⽉28⽇... +时间停在16\:30",,,, +c01_倾斜的洋相片,洋相片,,,, +c01_摆正的洋相片,是院长的女儿吗,,,, c02_绳子剪刀,绳子和剪刀,,,, c02_寻人启事,"似乎是一张寻人启事 脸的部分被撕掉了,看不清",,,, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index b8819233..6a89cc24 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -21,13 +21,20 @@ 阅读 [ID:ui_阅读] 收起 [ID:ui_收起] +百岁光阴一梦蝶。 [ID:ui_夜行船1] +重回⾸往事堪嗟。 [ID:ui_夜行船2] +今⽇春来。明朝花谢。 [ID:ui_夜行船3] +急罚盏夜阑灯灭。 [ID:ui_夜行船4] +夜行船 [ID:ui_夜行船5] => END + ~ PropItems 空手 [ID:prop_空手] # texture 路径从 "res://asset/art/prop/" 之后算起 # c01 令牌 [#texture=c01/令牌物品.png][#inspect=c01/令牌.png] [ID:prop_令牌] +信碎片(一) [#texture=c01/信碎片1.png] [ID:prop_信碎片1] 装有灵魂的令牌 [#texture=c01/装有灵魂的令牌物品.png][#inspect=c01/装有灵魂的令牌.png] [ID:prop_装有灵魂的令牌] # c02 小猫玩具的脑袋 [#texture=c02/小猫玩具脑袋物品.png][#inspect=c02/小猫玩具脑袋.png] [ID:prop_小猫玩具的脑袋] @@ -49,10 +56,13 @@ 挂画 [ID:notes_挂画] 相框 [ID:notes_相框] 寻人启事 [ID:notes_寻人启事] -# c01 +# c01-s05 院长房间 这是鸡毛掸子吗? [ID:c01_鸡毛掸子] -书桌上好像有本书 [ID:c01_院长书桌] -唔...下午一点了 [ID:c01_院长座钟] +桌上放着纸笔 [ID:c01_院长书桌] +这本书已经看过了 [ID:c01_院长床] +1917年10⽉28⽇...\n时间停在16\\:30 [ID:c01_院长座钟] +洋相片 [ID:c01_倾斜的洋相片] +是院长的女儿吗 [ID:c01_摆正的洋相片] # c02 绳子和剪刀 [ID:c02_绳子剪刀] 似乎是一张寻人启事\n脸的部分被撕掉了,看不清 [ID:c02_寻人启事] diff --git a/config/animation/entity_sprite_frames.tres b/config/animation/entity_sprite_frames.tres index b7fda567..6de9c53a 100644 --- a/config/animation/entity_sprite_frames.tres +++ b/config/animation/entity_sprite_frames.tres @@ -899,7 +899,7 @@ animations = [{ "duration": 1.0, "texture": ExtResource("54_nm47s") }], -"loop": true, +"loop": false, "name": &"c01_信碎片_falling", "speed": 7.0 }, { @@ -1130,7 +1130,7 @@ animations = [{ "duration": 1.0, "texture": ExtResource("156_nj42l") }], -"loop": true, +"loop": false, "name": &"c01_小小蝶_床上看书", "speed": 6.0 }, { diff --git a/config/vertical_label_settings.tres b/config/vertical_label_settings.tres new file mode 100644 index 00000000..9119b24f --- /dev/null +++ b/config/vertical_label_settings.tres @@ -0,0 +1,7 @@ +[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dd6jhbqr6uh3x"] + +[ext_resource type="FontFile" uid="uid://255whp7fuig5" path="res://asset/font/字体/三极行楷简体-粗.ttf" id="1_i73vc"] + +[resource] +font = ExtResource("1_i73vc") +font_size = 9 diff --git a/manager/archive_manager/archive_manager.gd b/manager/archive_manager/archive_manager.gd index 9837991d..0672df5a 100644 --- a/manager/archive_manager/archive_manager.gd +++ b/manager/archive_manager/archive_manager.gd @@ -3,10 +3,12 @@ extends Node signal archive_loaded -@export var user_root_dir := "user://data/" # must end with "/" -@export var archive_dir := "user://data/archives/" -@export var archive_prefix := "save" -@export var archive: AssembledArchive # current archive +static var archive := ( + load("user://data/archives/save0" + GlobalConfig.RES_FILE_FORMAT) as AssembledArchive +) # current archive +static var user_root_dir := "user://data/" # must end with "/" +static var archive_dir := "user://data/archives/" +static var archive_prefix := "save" var archives: Array[int] # archive id list in ascending order @@ -146,7 +148,7 @@ func save_all() -> void: # player_global_position var player = SceneManager.get_player() as MainPlayer if archive and player: - archive.player_global_position = player.global_position + archive.player_global_position_x = player.global_position.x archive.player_direction = player.facing_direction if archive: ResourceSaver.save(archive) diff --git a/manager/archive_manager/assembled_archive.gd b/manager/archive_manager/assembled_archive.gd index 8a417cad..b5f5efc0 100644 --- a/manager/archive_manager/assembled_archive.gd +++ b/manager/archive_manager/assembled_archive.gd @@ -2,7 +2,7 @@ class_name AssembledArchive extends Resource @export var archive_id := 0 @export var entrance_portal := "" -@export var current_scene := "": +@export var current_scene := "c00_s00": set(val): current_scene = val if val and val.length() == 7: @@ -12,7 +12,8 @@ class_name AssembledArchive extends Resource @export var current_chapter := 0 @export var current_section := 0 # player's info -@export var player_global_position := Vector2(0, 0) +# 只有在 >=0 的情况下才会生效 +@export var player_global_position_x := -100.0 @export var player_direction := Vector2(0, 0) # game total seconds @export var game_seconds_all := 0 diff --git a/manager/config_manager/global_config.gd b/manager/config_manager/global_config.gd index ddd6ff69..56c306bc 100644 --- a/manager/config_manager/global_config.gd +++ b/manager/config_manager/global_config.gd @@ -18,6 +18,7 @@ const CANVAS_LAYER_HD_ENTITY = 1 const CHARACTER_COLOR_MAP = { "default": Color.LIGHT_SEA_GREEN, + "音效": Color.DARK_VIOLET, # 非 bug 模式时不显示 "吕萍": Color.ORANGE, "雾": Color.MEDIUM_SEA_GREEN, "获得": Color.WHITE, diff --git a/manager/config_manager/global_config_manager.gd b/manager/config_manager/global_config_manager.gd index d851cd31..1cac5337 100644 --- a/manager/config_manager/global_config_manager.gd +++ b/manager/config_manager/global_config_manager.gd @@ -1,7 +1,9 @@ @tool extends Node -var config: GlobalConfig: +static var config := ( + load("user://data/config" + GlobalConfig.RES_FILE_FORMAT) as GlobalConfig +): set = _set_config var timer = Timer.new() diff --git a/manager/deploy/scene/scene_manager.gd b/manager/deploy/scene/scene_manager.gd index 66ea7fb7..699eee32 100644 --- a/manager/deploy/scene/scene_manager.gd +++ b/manager/deploy/scene/scene_manager.gd @@ -138,6 +138,18 @@ func set_player_boundary(rect: Rect2) -> void: printerr("Player node not found") +func pop_debug_dialog_info(character: String, content: String): + if GlobalConfig.DEBUG: + var title = "title" + var body = "~ " + title + "\n" + body += character + ": " + content + "\n" + body += "=> END" + var res = DialogueManager.create_resource_from_text(body) + DialogueManager.show_dialogue_balloon_scene( + preload("res://scene/dialog/balloon_debug.tscn"), res, title + ) + + #### Prop #### var hud_path = "" diff --git a/scene/dialog/balloon.gd b/scene/dialog/balloon.gd index 58b70717..c0021ea1 100755 --- a/scene/dialog/balloon.gd +++ b/scene/dialog/balloon.gd @@ -46,6 +46,10 @@ var dialogue_line: DialogueLine: if not is_node_ready(): await ready dialogue_line = next_dialogue_line + # 如果是「音效: ...」,且不是 debug 模式,则直接跳过 + if dialogue_line.character == "音效" and not GlobalConfig.DEBUG: + next(dialogue_line.next_id) + return character_label.visible = not dialogue_line.character.is_empty() character_label.text = tr(dialogue_line.character, "dialogue") #主要角色颜色 @@ -137,8 +141,12 @@ func _ready() -> void: # 自定义获得文本,从 tags 中获取备注参数 func _setup_content_text() -> void: var translation_key = dialogue_line.translation_key - var text = tr(translation_key, "dialogue") - if text == translation_key: + var text + if translation_key: + text = tr(translation_key, "dialogue") + if text == translation_key: + text = dialogue_line.text + else: text = dialogue_line.text if dialogue_line.tags.has("shake"): # eg. [shake rate=20 level=10][/shake] diff --git a/scene/dialog/balloon_debug.tscn b/scene/dialog/balloon_debug.tscn new file mode 100644 index 00000000..b812cc30 --- /dev/null +++ b/scene/dialog/balloon_debug.tscn @@ -0,0 +1,170 @@ +[gd_scene load_steps=10 format=3 uid="uid://bni3dt3xcb72o"] + +[ext_resource type="Script" path="res://scene/dialog/balloon.gd" id="1_vvk1n"] +[ext_resource type="FontFile" uid="uid://dr8bp6p7byb37" path="res://asset/font/字体/方正楷体简体.TTF" id="2_qwe3r"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_jo1vi"] +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="4_4netn"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.329412, 0.329412, 0.329412, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ri4m3"] +bg_color = Color(0.121569, 0.121569, 0.121569, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e0njw"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.6, 0.6, 0.6, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jydvi"] + +[sub_resource type="Theme" id="Theme_qq3yp"] +default_font_size = 12 +Button/fonts/font = ExtResource("2_qwe3r") +Button/styles/disabled = SubResource("StyleBoxFlat_spyqn") +Button/styles/focus = SubResource("StyleBoxFlat_ri4m3") +Button/styles/hover = SubResource("StyleBoxFlat_e0njw") +Button/styles/normal = SubResource("StyleBoxFlat_e0njw") +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 30 +MarginContainer/constants/margin_right = 30 +MarginContainer/constants/margin_top = 15 +Panel/styles/panel = SubResource("StyleBoxEmpty_jydvi") + +[node name="Balloon" type="CanvasLayer"] +layer = 100 +script = ExtResource("1_vvk1n") +metadata/_edit_vertical_guides_ = [-78.0] +metadata/_edit_horizontal_guides_ = [276.0] + +[node name="Balloon" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme = SubResource("Theme_qq3yp") + +[node name="Panel" type="Panel" parent="Balloon"] +clip_children = 2 +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -64.0 +offset_bottom = -24.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 + +[node name="Container" type="HBoxContainer" parent="Balloon/Panel"] +custom_minimum_size = Vector2(0, 30) +layout_direction = 1 +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -43.5 +offset_top = 21.0 +offset_right = 43.5 +offset_bottom = 51.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +alignment = 1 + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Container"] +unique_name_in_owner = true +clip_contents = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 +mouse_filter = 2 +theme_override_colors/font_shadow_color = Color(0.305882, 0.305882, 0.305882, 0.388235) +theme_override_constants/shadow_offset_y = 1 +theme_override_constants/shadow_offset_x = 1 +theme_override_font_sizes/normal_font_size = 9 +bbcode_enabled = true +text = "Charagcter" +fit_content = true +scroll_active = false +autowrap_mode = 0 + +[node name="DialogueLabel" parent="Balloon/Panel/Container" instance=ExtResource("3_jo1vi")] +unique_name_in_owner = true +clip_contents = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 +theme_override_colors/font_shadow_color = Color(0.306923, 0.306923, 0.306923, 0.388235) +theme_override_constants/shadow_offset_y = 1 +theme_override_constants/shadow_offset_x = 1 +theme_override_font_sizes/normal_font_size = 9 +text = "Dialogue..." +autowrap_mode = 0 +seconds_per_step = 0.06 + +[node name="Responses" type="MarginContainer" parent="Balloon"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -77.5 +offset_top = 32.0 +offset_right = 77.5 +offset_bottom = 82.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses" node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("4_4netn") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"] +layout_mode = 2 +mouse_filter = 1 +text = "Response example" + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +bus = &"dialog" + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scene/entity/ambush.gd b/scene/entity/ambush.gd index 643c2e43..61d0f50f 100644 --- a/scene/entity/ambush.gd +++ b/scene/entity/ambush.gd @@ -1,8 +1,14 @@ @tool -extends Node2D +class_name Ambush2D extends Node2D -signal player_entered +signal triggered +@export var enabled := true: + set(val): + enabled = val + if is_node_ready(): + sign_mark.enabled = val + _check_sign_display() @export_enum("enter", "interact") var trigger_mode := "enter": set(val): trigger_mode = val @@ -37,10 +43,10 @@ var played_time := 0.0 # ground_archive.set_pair(name, "played", played) # played = val -@onready var sign_marker := %Sign as Sign +@onready var sign_mark := %Sign as Sign @onready var area := %Area2D as Area2D -@onready var ground_archive := ArchiveManager.archive.ground_archive() -@onready var played: bool = ground_archive.get_value(name, "played", false): +var ground_archive: GroundArchive +var played: bool: set(val): played = val ground_archive.set_pair(name, "played", played) @@ -61,12 +67,16 @@ func _ready() -> void: return if on_first_enter_tree: _entered(null) - sign_marker.interacted.connect(_interacted) + sign_mark.interacted.connect(_interacted) area.body_entered.connect(_entered) + sign_mark.enabled = enabled + # setup default value + ground_archive = ArchiveManager.archive.ground_archive() + played = ground_archive.get_value(name, "played", false) func _check_sign_display(): - sign_marker.show_sign = trigger_mode == "interact" and (not one_shot or not played) + sign_mark.display_sign = trigger_mode == "interact" and (not one_shot or not played) func _get_animation_player() -> AnimationPlayer: @@ -77,12 +87,12 @@ var enter_mutex = Mutex.new() func _interacted(): - if trigger_mode == "interact": + if enabled and trigger_mode == "interact": _do_trigger() func _entered(_body = null): - if trigger_mode == "enter": + if enabled and trigger_mode == "enter": _do_trigger() @@ -114,7 +124,7 @@ func _do_trigger(): SceneManager.freeze_player(0.0) DialogueManager.show_dialogue_balloon(dialogue_res, hook_dialogue_title) DialogueManager.dialogue_ended.connect(_on_dialogue_ended, CONNECT_ONE_SHOT) - player_entered.emit() + triggered.emit() if GlobalConfig.DEBUG: print("ambush body_entered!") enter_mutex.unlock() diff --git a/scene/entity/interactable.gd b/scene/entity/interactable.gd index c20edcf6..b5bc0632 100644 --- a/scene/entity/interactable.gd +++ b/scene/entity/interactable.gd @@ -1,14 +1,18 @@ @tool -extends Sprite2D +class_name Interactable2D extends Sprite2D -signal interacted(success: bool) +signal interacted +@export var enabled := true: + set(val): + enabled = val + if is_node_ready(): + sign_mark.enabled = val @export var unmatched_sign_texture: Texture2D @export var matched_sign_texture: Texture2D -@export var texture_before: Texture2D @export var texture_after: Texture2D @export var one_shot := true -@export var interacted_times := 0 + var prop_key := "" @onready var sfx_invalid = $SfxInvalid as Sfx @@ -16,10 +20,33 @@ var prop_key := "" @onready var sign_mark = %Sign as Sign @onready var area2d = %Area2D as Area2D +var ground_archive: GroundArchive +var interacted_times: int: + set(val): + interacted_times = val + ground_archive.set_pair(name, "interacted_times", val) + static var item_config_res = preload("res://asset/dialogue/item_description.dialogue") var items: PackedStringArray +func _ready() -> void: + if Engine.is_editor_hint(): + _reload_items() + notify_property_list_changed() + return + area2d.body_entered.connect(_reset) + area2d.body_exited.connect(_on_cancel) + sign_mark.interacted.connect(_on_interacted) + sign_mark.cancel.connect(_on_cancel) + sign_mark.base_scale = sign_mark.scale + sign_mark.enabled = enabled + # setup default value + ground_archive = ArchiveManager.archive.ground_archive() + interacted_times = ground_archive.get_value(name, "interacted_times", 0) + if interacted_times and texture_after: + texture = texture_after + func _reload_items() -> void: var id = item_config_res.titles["PropItems"] var current_line = item_config_res.lines[id] @@ -31,22 +58,6 @@ func _reload_items() -> void: current_line = item_config_res.lines[current_line.next_id] -func _ready() -> void: - if Engine.is_editor_hint(): - _reload_items() - notify_property_list_changed() - return - if interacted_times and texture_after: - texture = texture_after - else: - texture = texture_before - area2d.body_entered.connect(_reset) - area2d.body_exited.connect(_on_cancel) - sign_mark.interacted.connect(_on_interacted) - sign_mark.cancel.connect(_on_cancel) - sign_mark.base_scale = sign_mark.scale - - func _reset(_body = null) -> void: var key = SceneManager.get_current_prop(false) if key: @@ -58,7 +69,7 @@ func _reset(_body = null) -> void: # 根据当前 prop,调整 sign 所显示的 texture func _set_sign_texture_to_prop(key): - if prop_key == key: + if not prop_key or prop_key == key: sign_mark.sprite2d.texture = matched_sign_texture else: sign_mark.sprite2d.texture = unmatched_sign_texture @@ -78,24 +89,31 @@ func _on_cancel(_body = null) -> void: prop_hud.current_item_changed.disconnect(_set_sign_texture_to_prop) +var interact_mutex = Mutex.new() + + func _on_interacted() -> void: + interact_mutex.lock() if one_shot and interacted_times: + interact_mutex.unlock() return var key = SceneManager.get_current_prop(false) - if key != prop_key: + if prop_key and key != prop_key: sfx_invalid.play() sign_mark.invalid_shake() # SceneManager.on_toggle_invalid_prop() + interact_mutex.unlock() return sfx_success.play() - if one_shot: - SceneManager.disable_prop_item(prop_key) + # if one_shot: + # SceneManager.disable_prop_item(prop_key) interacted_times += 1 if texture_after: texture = texture_after interacted.emit() EventManager.prop_interacted(name, prop_key, interacted_times) # print("%s interacted with %s. total times: %s" % [name, prop_key, interacted_times]) + interact_mutex.unlock() func _get_property_list() -> Array[Dictionary]: diff --git a/scene/entity/interactable.tscn b/scene/entity/interactable.tscn index 9134161d..8505ccc0 100644 --- a/scene/entity/interactable.tscn +++ b/scene/entity/interactable.tscn @@ -13,7 +13,7 @@ region = Rect2(762, 468, 63, 63) [sub_resource type="AtlasTexture" id="AtlasTexture_0ks5m"] atlas = ExtResource("2_tvf5d") -region = Rect2(480, 468, 63, 63) +region = Rect2(498, 555, 51, 54) [sub_resource type="RectangleShape2D" id="RectangleShape2D_8d3b4"] resource_local_to_scene = true diff --git a/scene/entity/local_inspectable.gd b/scene/entity/local_inspectable.gd index 5855fb13..0866de80 100644 --- a/scene/entity/local_inspectable.gd +++ b/scene/entity/local_inspectable.gd @@ -75,7 +75,7 @@ func _on_interacted() -> void: SceneManager.focus_node(self) SceneManager.get_camera_marker().tween_zoom(2.0) status = STATUS_INSPECTING_COVER - sign_mark.show_sign = false + sign_mark.display_sign = false SceneManager.freeze_player(0.0, PlayerAnimationConfig.ACTION_LOOKUP_WALL) cover_rect.texture = texture_cover tip_label.text = tip_cover @@ -117,7 +117,7 @@ func _on_cancel(_body = null): tween.parallel().tween_property(tip_label, "modulate:a", 0.0, 0.15) SceneManager.focus_player_and_reset_zoom() SceneManager.release_player() - sign_mark.show_sign = true + sign_mark.display_sign = true func _set(property: StringName, value: Variant) -> bool: diff --git a/scene/entity/note.gd b/scene/entity/note.gd index 57fd4f29..2a3a8dfa 100644 --- a/scene/entity/note.gd +++ b/scene/entity/note.gd @@ -1,8 +1,13 @@ @tool -extends Sprite2D +class_name Note2D extends Sprite2D signal read_note +@export var enabled := true: + set(val): + enabled = val + if is_node_ready(): + sign_mark.enabled = val @export_enum("os", "ballon") var mode = "os" @export_enum("items", "c01", "c02", "c03", "c04", "c05", "c06") var dialogue := "items": set(val): @@ -43,6 +48,7 @@ func _ready() -> void: area2d.body_exited.connect(_on_cancel) sign_mark.interacted.connect(_on_interacted) sign_mark.cancel.connect(_on_cancel) + sign_mark.enabled = enabled func _on_interacted() -> void: diff --git a/scene/entity/npc.tscn b/scene/entity/npc.tscn index 5e6d8578..c5471e14 100644 --- a/scene/entity/npc.tscn +++ b/scene/entity/npc.tscn @@ -78,7 +78,7 @@ size = Vector2(61, 112.75) [node name="Npc" type="AnimatedSprite2D"] sprite_frames = ExtResource("3_1e8sl") animation = &"c02_张胖子_idle" -frame_progress = 0.83643 +frame_progress = 0.0393811 script = ExtResource("1_jegr2") dialogue_title = "" @@ -90,7 +90,7 @@ unique_name_in_owner = true modulate = Color(1, 1, 1, 0) offset_top = -60.0 offset_bottom = -60.0 -show_sign = false +display_sign = false [node name="SpeakingAnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true diff --git a/scene/entity/old/inspectable.gd b/scene/entity/old/inspectable.gd index 8a54a7d3..3f02654e 100644 --- a/scene/entity/old/inspectable.gd +++ b/scene/entity/old/inspectable.gd @@ -44,7 +44,7 @@ func _on_interacted() -> void: var inspection_note = _get_tr_content() inspector.pop_standard_inspection(texture_cover, texture_note, inspection_note) inspecting = true - sign_mark.show_sign = false + sign_mark.display_sign = false func _get_tr_content(): var inspection_note = "" @@ -63,7 +63,7 @@ func _on_quit_inspector(): # disconnect inspector quit signal inspector.quit.disconnect(_on_quit_inspector) inspecting = false - sign_mark.show_sign = true + sign_mark.display_sign = true func _on_cancel(_body = null): diff --git a/scene/entity/portal.gd b/scene/entity/portal.gd index 067690b1..77ebe819 100644 --- a/scene/entity/portal.gd +++ b/scene/entity/portal.gd @@ -1,6 +1,11 @@ # @tool -extends Sprite2D +class_name Portal2D extends Sprite2D +@export var enabled := true: + set(val): + enabled = val + if is_node_ready(): + _check_sign_mark() @export var immediately := true @export_enum("left", "right", "1", "2", "3", "4", "5", "6", "7", "8", "9") var portal_name := "left": set(value): @@ -11,7 +16,11 @@ extends Sprite2D name = "portal_" + value @export var target_scene := "c02_s00" @export_enum("none", "left", "right", "1", "2", "3", "4", "5", "6", "7", "8", "9") -var target_portal := "none" +var target_portal := "none": + set(value): + target_portal = value + if is_node_ready(): + _check_sign_mark() @export var default_texture: Texture2D @export var opened_texture: Texture2D @export var opened := false: @@ -32,14 +41,13 @@ var action_times := 0 func _ready() -> void: name = "portal_" + portal_name _checkout_texture() + _check_sign_mark() if Engine.is_editor_hint(): return area2d.body_entered.connect(_reset) area2d.body_exited.connect(_on_cancel) sign_mark.interacted.connect(_on_interacted) sign_mark.cancel.connect(_on_cancel) - if target_portal == "none": - sign_mark.show_sign = false # if GlobalConfig.DEBUG: # var label = Label.new() # label.text = portal_name @@ -47,11 +55,17 @@ func _ready() -> void: # add_child(label) func _checkout_texture(): - if opened: + if opened and opened_texture: texture = opened_texture else: texture = default_texture +func _check_sign_mark(): + if target_portal == "none" or not enabled: + sign_mark.enabled = false + else: + sign_mark.enabled = true + func _on_interacted() -> void: if target_portal == "none": return diff --git a/scene/entity/ux/sign.gd b/scene/entity/ux/sign.gd index 5ab905ec..624711a9 100644 --- a/scene/entity/ux/sign.gd +++ b/scene/entity/ux/sign.gd @@ -1,19 +1,26 @@ @tool class_name Sign extends Control -@export var show_sign := true: - set(val): - show_sign = val - # 隐藏时强制设置透明度为 0,显示时需要根据激活状态设置透明度 - if not val: - modulate.a = 0.0 - elif activated: - modulate.a = 1.0 -@export var draw_shadow := false - signal interacted signal cancel +@export var enabled := true: + set(val): + if enabled == val: + return + enabled = val + if enabled and player_touching and not activated: + activate(null) + if not enabled and activated: + disactivate(null) + player_touching = true + _check_sign_display() +@export var display_sign := true: + set(val): + display_sign = val + _check_sign_display() +@export var draw_shadow := false + @onready var texture_container = %TextureContainer as Container @onready var sprite2d = %Sprite2D as Sprite2D @@ -25,48 +32,74 @@ static var _pending_activate_sign := [] as Array[NodePath] # 使用互斥锁保证线程安全。在操作 occupied 或 _pending_activate_sign 时需要先锁定,操作完成后解锁 static var mutex = Mutex.new() +var player_touching := false var activated = false: set(val): activated = val - queue_redraw() + # queue_redraw() # var sprite2d = Sprite2D.new() var base_scale = Vector2.ONE func _ready() -> void: + if Engine.is_editor_hint(): + return base_scale = scale # layer = GlobalConfig.CANVAS_LAYER_FG - var point_light = get_node_or_null("../PointLight2D") - if point_light: - point_light.energy = 0.0 + # var point_light = get_node_or_null("../PointLight2D") + # if point_light: + # point_light.energy = 0.0 var area2d = get_node_or_null("../Area2D") if area2d: area2d.body_entered.connect(activate) area2d.body_exited.connect(disactivate) - if not Engine.is_editor_hint(): - modulate.a = 0 + _check_sign_display() + visibility_changed.connect(_on_visibility_changed) -func activate(_body: Node2D) -> void: +func _on_visibility_changed() -> void: + if is_visible_in_tree(): + if player_touching and not activated and enabled: + activate(null) + else: + if activated: + disactivate(null) + player_touching = true + + +func _check_sign_display(): + if not enabled or not display_sign or not activated: + modulate.a = 0.0 + else: + modulate.a = 1.0 + + +func activate(_body: Node2D) -> bool: # point_light.energy = 1.0 if not is_node_ready(): - await ready + return false var path := get_path() mutex.lock() - if occupied and occupied != path: - _pending_activate_sign.append(path) + player_touching = true + if not enabled or not is_visible_in_tree(): mutex.unlock() - return + return false + if occupied and occupied != path: + if not _pending_activate_sign.has(path): + _pending_activate_sign.append(path) + mutex.unlock() + return false else: occupied = path activated = true mutex.unlock() - if activated and show_sign: + if activated and display_sign: var tween = create_tween() tween.tween_property(self, "modulate:a", 1.0, 0.2) var p_tween = tween.parallel() p_tween.tween_property(self, "scale", base_scale * Vector2(1.2, 1.2), 0.3) p_tween.tween_property(self, "scale", base_scale, 0.1) + return true # if activated: # focus_mode = FOCUS_ALL # grab_focus() @@ -95,14 +128,15 @@ func activate(_body: Node2D) -> void: func disactivate(_body: Node2D) -> void: # release_focus()d mutex.lock() + player_touching = false if activated: activated = false - occupied = "" + occupied = NodePath("") + # 转移 active 状态给下一个节点 while _pending_activate_sign.size() > 0: var path = _pending_activate_sign.pop_front() - var _sign = get_node_or_null(path) - if _sign: - _sign.activate(null) + var _sign = get_node_or_null(path) as Sign + if _sign and _sign.player_touching and _sign.activate(null): break else: # make sure the sign is not in the pending list @@ -112,13 +146,17 @@ func disactivate(_body: Node2D) -> void: disactivate(_body) mutex.unlock() # point_light.energy = 0.0 - if show_sign: + if modulate.a: create_tween().tween_property(self, "modulate:a", 0.0, 0.2) func _unhandled_input(event: InputEvent) -> void: + if not enabled: + return if activated: if event.is_action_pressed("interact"): + if GlobalConfig.DEBUG: + print("Sign interacted:", get_parent().name) interacted.emit() if is_inside_tree(): # grab focus 放在 emit 后面,避免在 emit 时 prop hud 失去 focus @@ -127,6 +165,8 @@ func _unhandled_input(event: InputEvent) -> void: grab_focus() _set_handled() elif event.is_action_pressed("cancel"): + if GlobalConfig.DEBUG: + print("Sign cancel:", get_parent().name) cancel.emit() _set_handled() release_focus() diff --git a/scene/ground/ground.gd b/scene/ground/ground.gd index c8ec6679..aa9bb839 100644 --- a/scene/ground/ground.gd +++ b/scene/ground/ground.gd @@ -3,7 +3,7 @@ class_name Ground2D extends Node2D @export_group("Player", "player_") @export var player_y_fixed := true -@export var player_y := 40: +@export var player_y := 70: set(val): player_y = val if is_node_ready(): @@ -47,6 +47,9 @@ func _ready() -> void: _reset_player_positon() if Engine.is_editor_hint(): return + # 如果 debug 模式下不通过 GroundLoader 启动,读取 palyer 位置 + if GlobalConfig.DEBUG and not get_parent() is GroundLoader: + player.global_position.x = ArchiveManager.archive.player_global_position_x _set_camera_and_player_boundary() _load_footstep_audio() focus_player() @@ -60,8 +63,9 @@ func _enter_tree() -> void: func _reset_player_positon(): - player.position.y = player_y player.position.x = $DeployLayer/portal_left.position.x + # 从屏幕下边缘算起 + player.set_y_from_ground(158.0 - player_y) func _set_camera_and_player_boundary(): diff --git a/scene/ground/ground.tscn b/scene/ground/ground.tscn index e8679e42..22178797 100644 --- a/scene/ground/ground.tscn +++ b/scene/ground/ground.tscn @@ -51,7 +51,7 @@ portal_name = "right" [node name="MainPlayer" parent="." instance=ExtResource("3_atha7")] unique_name_in_owner = true -position = Vector2(26, 40) +position = Vector2(26, 88) [node name="CameraFocusMarker" parent="MainPlayer" node_paths=PackedStringArray("camera") instance=ExtResource("4_mgk0a")] unique_name_in_owner = true diff --git a/scene/ground/ground_loader.gd b/scene/ground/ground_loader.gd index e9ecd9b1..b0c5816a 100644 --- a/scene/ground/ground_loader.gd +++ b/scene/ground/ground_loader.gd @@ -20,6 +20,8 @@ var scenes_dir = "res://scene/ground/scene/" var ground_dict = {} +# 预加载 portal 通往的场景 +var neighbor_scene_cache = {} func _ready() -> void: _read_grounds() @@ -97,11 +99,9 @@ func _update_player_position(): if player and ArchiveManager.archive: # if GlobalConfig.DEBUG: # print("update player position", ArchiveManager.archive.player_global_position) - player.global_position = ArchiveManager.archive.player_global_position - # fixed y - if ground.player_y_fixed: - player.global_position.y = ground.player_y - player.set_facing_direction(ArchiveManager.archive.player_direction) + if ArchiveManager.archive.player_global_position_x >= 0: + player.global_position.x = ArchiveManager.archive.player_global_position_x + player.set_facing_direction(ArchiveManager.archive.player_direction) func _do_transition(scene: Node2D): diff --git a/scene/ground/scene/animation_root.gd b/scene/ground/scene/animation_root.gd index b8f859b3..0e652613 100644 --- a/scene/ground/scene/animation_root.gd +++ b/scene/ground/scene/animation_root.gd @@ -20,6 +20,11 @@ func _default_data() -> Dictionary: func _ready() -> void: + if Engine.is_editor_hint(): + # notify_property_list_changed() + # 更新 oneshot_animation 的可选项 + animation_libraries_updated.connect(notify_property_list_changed) + return # 等待 DeployLayer 先加载完成 var deploy_layer = get_node("../DeployLayer") if deploy_layer: @@ -27,11 +32,6 @@ func _ready() -> void: deploy_layer.ready.connect(_on_deploy_layer_ready) else: _on_deploy_layer_ready() - if Engine.is_editor_hint(): - # notify_property_list_changed() - # 更新 oneshot_animation 的可选项 - animation_libraries_updated.connect(notify_property_list_changed) - return ground_archive = ArchiveManager.archive.ground_archive() as GroundArchive data.merge(_default_data(), true) var archive_data = ground_archive.get_data(name) @@ -46,6 +46,8 @@ func _on_deploy_layer_ready() -> void: func _notification(what: int) -> void: + if Engine.is_editor_hint(): + return # 仅在首次进入场景时触发 if what == NOTIFICATION_READY: if oneshot_animation: diff --git a/scene/ground/scene/c01/s05_animation.gd b/scene/ground/scene/c01/s05_animation.gd index dde0ad10..b4fb39cf 100644 --- a/scene/ground/scene/c01/s05_animation.gd +++ b/scene/ground/scene/c01/s05_animation.gd @@ -2,6 +2,10 @@ extends AnimationRoot var frame_relocated = false +var ambush: Ambush2D +var frame: Note2D +var paper: Interactable2D +var right_door: Portal2D # 覆盖该方法 @@ -13,11 +17,65 @@ func _ready() -> void: super._ready() +func play_intro_dialogue(): + # 播放开场对话 + DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s05_院长房间_开场") + + func _on_deploy_layer_ready() -> void: - var node = $"../DeployLayer/ambush鸡毛掸子" + ambush = $"../DeployLayer/ambush鸡毛掸子" + frame = $"../DeployLayer/画框" + paper = $"../DeployLayer/oneshot纸片" + right_door = $"../DeployLayer/portal_right" # 画框 - if node.played and node.one_shot: - frame_relocated = true - $"../DeployLayer/画框".rotation_degrees = 0.0 + frame_relocated = ambush.played and ambush.one_shot + ambush.enabled = false + if frame_relocated: + frame.rotation_degrees = 0.0 + frame.note_key = "c01_摆正的洋相片" if GlobalConfig.DEBUG: print("重置画框位置") + else: + frame.read_note.connect(_on_note_read, CONNECT_ONE_SHOT) + ambush.triggered.connect(_on_ambush_triggered) + if frame_relocated: + if paper.interacted_times > 0: + paper.visible = false + paper.enabled = false + else: + paper.visible = true + paper.enabled = true + paper.interacted.connect(_on_paper_interacted, CONNECT_ONE_SHOT) + else: + paper.visible = false + paper.enabled = true + paper.interacted.connect(_on_paper_interacted, CONNECT_ONE_SHOT) + + +func _on_note_read(): + frame.enabled = false + # 稍加延时后显示鸡毛掸子 + get_tree().create_timer(1.0).timeout.connect(func(): ambush.enabled = true) + + +func _on_ambush_triggered(): + ambush.enabled = false + frame.note_key = "c01_摆正的洋相片" + get_tree().create_timer(5.5).timeout.connect(func(): frame.enabled = true) + # 鸡毛掸子 4.5s,再等待 3s 后掉落纸片 + get_tree().create_timer(8).timeout.connect(_play_paper_animation) + + +func _play_paper_animation(): + # 播放纸片动画 + play("纸片飘落") + paper.enabled = true + + +func _on_paper_interacted(): + paper.visible = false + paper.enabled = false + SceneManager.enable_prop_item("prop_信碎片1") + right_door.enabled = true + SceneManager.pop_debug_dialog_info("音效", "开门声") + $"../sfx_door_open".play() diff --git a/scene/ground/scene/c01/s05_院长房间.tscn b/scene/ground/scene/c01/s05_院长房间.tscn index f3ea34d5..4005fbd0 100644 --- a/scene/ground/scene/c01/s05_院长房间.tscn +++ b/scene/ground/scene/c01/s05_院长房间.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=3 uid="uid://dlx5xxbg53rb8"] +[gd_scene load_steps=32 format=3 uid="uid://dlx5xxbg53rb8"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ff4yb"] [ext_resource type="Script" path="res://scene/ground/scene/c01/s05_animation.gd" id="2_j5oim"] @@ -7,7 +7,6 @@ [ext_resource type="Texture2D" uid="uid://blv2ftjrmvlmh" path="res://asset/art/scene/c01/s05_院长房间/fg_前景.png" id="3_vmr0f"] [ext_resource type="Texture2D" uid="uid://bh7l6ykoayvve" path="res://asset/art/scene/c01/s05_院长房间/e_门.png" id="4_gdhoy"] [ext_resource type="Texture2D" uid="uid://b75eota1p4bb6" path="res://asset/art/scene/c01/s05_院长房间/e_打开的门.png" id="5_cddn7"] -[ext_resource type="PackedScene" uid="uid://ci5anaxsa1apl" path="res://scene/entity/local_inspectable.tscn" id="6_v72k7"] [ext_resource type="Texture2D" uid="uid://eamkmbyicbkd" path="res://asset/art/scene/c01/s05_院长房间/e_座钟.png" id="7_3tetc"] [ext_resource type="Texture2D" uid="uid://qtksfmfvk3c7" path="res://asset/art/scene/c01/s05_院长房间/e_床.png" id="7_xakd0"] [ext_resource type="Texture2D" uid="uid://dihrl7mgckinx" path="res://asset/art/scene/c01/s05_院长房间/e_钢琴.png" id="8_mnduo"] @@ -18,8 +17,12 @@ [ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="14_e1bmq"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="14_lq1ou"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="15_1uixh"] +[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/ui/物品查看.mp3" id="15_2jvyd"] [ext_resource type="Texture2D" uid="uid://bloct6cpdt2qi" path="res://asset/art/scene/c01/s05_院长房间/l_墙.png" id="16_qh7fg"] [ext_resource type="Texture2D" uid="uid://df30bmtgdoqc3" path="res://asset/art/scene/c01/s05_院长房间/l_窗户光源.png" id="17_qqw2v"] +[ext_resource type="PackedScene" uid="uid://dw0s23v7qmj28" path="res://ui/vertical_label.tscn" id="20_t1dxj"] +[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="22_4c44k"] +[ext_resource type="Script" path="res://scene/entity/ux/sfx.gd" id="23_o1482"] [sub_resource type="Animation" id="Animation_c6mhi"] length = 0.001 @@ -95,115 +98,435 @@ tracks/5/keys = { "update": 0, "values": [-0.179769] } - -[sub_resource type="Animation" id="Animation_il8ov"] -resource_name = "使用鸡毛掸子" -length = 4.0 -step = 0.02 -capture_included = true -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("MainPlayer:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0.28, 3.48), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(261, 40), Vector2(261, 40)] -} -tracks/1/type = "method" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("MainPlayer") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.28), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [3.5, -1, true], -"method": &"freeze_player" -}] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("DeployLayer/画框:rotation") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(1.2, 1.38, 1.64, 1.82, 1.98, 2.16), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 0, -"values": [-0.179974, -0.124821, -0.124821, -0.051063, -0.051063, 0.0] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("DeployLayer/使用鸡毛掸子:frame") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0.44, 3.18), -"transitions": PackedFloat32Array(1, 1), -"update": 2, -"values": [0, 11] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("DeployLayer/使用鸡毛掸子:position") -tracks/4/interp = 1 -tracks/4/loop_wrap = false -tracks/4/keys = { -"times": PackedFloat32Array(0.28, 3.36), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(261, 42), Vector2(261, 42)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("DeployLayer/使用鸡毛掸子:visible") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0.28, 3.36), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("MainPlayer:visible") +tracks/6/path = NodePath("Intro:visible") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { -"times": PackedFloat32Array(0.28, 3.36), -"transitions": PackedFloat32Array(1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 1, -"values": [false, true] +"values": [false] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("DeployLayer/ambush鸡毛掸子:visible") +tracks/7/path = NodePath("Intro:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0.02, 0.72, 2.82), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("MainPlayer:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(26, 88)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("DeployLayer/小小蝶看书:visible") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("DeployLayer/小小蝶看书:frame") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [10] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("DeployLayer/oneshot纸片/Area2D:position") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("DeployLayer/oneshot纸片/AnimatedSprite2D:frame") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [9] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("MainPlayer/CameraFocusMarker:position") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("Camera2D:zoom") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_7k2c8"] +resource_name = "intro" +length = 7.5 +capture_included = true +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Intro:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 4.63333), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Intro:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 4.4, 4.63333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [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("MainPlayer:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(3.93333), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(87, 88)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MainPlayer:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 6.63333), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("DeployLayer/小小蝶看书:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 6.66667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/5/type = "method" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("MainPlayer") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [7.0, -1, false], +"method": &"freeze_player" +}] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("DeployLayer/小小蝶看书:frame") +tracks/6/interp = 1 +tracks/6/loop_wrap = false +tracks/6/keys = { +"times": PackedFloat32Array(4.56667, 6.66667), +"transitions": PackedFloat32Array(1, 1), +"update": 2, +"values": [0, 10] +} +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("AnimationPlayer") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0.133333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"play_intro_dialogue" +}] +} +tracks/8/type = "method" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("Intro") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(4.76667), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"queue_free" +}] +} + +[sub_resource type="Animation" id="Animation_il8ov"] +resource_name = "使用鸡毛掸子" +length = 4.5 +step = 0.02 +capture_included = true +tracks/0/type = "method" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainPlayer") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.02), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [4.0, -1, true], +"method": &"freeze_player" +}] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("DeployLayer/画框:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(1.8, 1.98, 2.24, 2.42, 2.58, 2.76), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 0, +"values": [-0.179974, -0.124821, -0.124821, -0.051063, -0.051063, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("DeployLayer/使用鸡毛掸子:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(1.04, 3.78), +"transitions": PackedFloat32Array(1, 1), +"update": 2, +"values": [0, 11] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("DeployLayer/使用鸡毛掸子:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0.88, 3.96), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(261, 42), Vector2(261, 42)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("DeployLayer/使用鸡毛掸子:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.88, 3.96), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("MainPlayer:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0.88, 3.96), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("DeployLayer/ambush鸡毛掸子:visible") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.02, 1.48, 3.42), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] } +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("MainPlayer") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0.08), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [Vector2(261, 88), 0.7], +"method": &"walk_to" +}] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("MainPlayer/CameraFocusMarker:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 0.46, 3.98, 4.38), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, 10), Vector2(0, 10), Vector2(0, 0)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("Camera2D:zoom") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0.3, 0.7, 3.92, 4.38), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1.5, 1.5), Vector2(1.5, 1.5), Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_ocf0o"] +resource_name = "纸片飘落" +length = 1.5 +capture_included = true +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("DeployLayer/oneshot纸片/Sign:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.7, 1.43333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(35, -70), Vector2(32, -31), Vector2(3, -5)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("DeployLayer/oneshot纸片/Area2D:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.7, 1.43333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(34, -67), Vector2(37, -25), Vector2(0, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("DeployLayer/oneshot纸片/AnimatedSprite2D:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.43333), +"transitions": PackedFloat32Array(1, 1), +"update": 2, +"values": [0, 9] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("DeployLayer/oneshot纸片/Sign:display_sign") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.8), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("DeployLayer/oneshot纸片:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_ifimj"] _data = { "RESET": SubResource("Animation_c6mhi"), -"使用鸡毛掸子": SubResource("Animation_il8ov") +"intro": SubResource("Animation_7k2c8"), +"使用鸡毛掸子": SubResource("Animation_il8ov"), +"纸片飘落": SubResource("Animation_ocf0o") } [sub_resource type="RectangleShape2D" id="RectangleShape2D_6i5gw"] @@ -212,11 +535,10 @@ size = Vector2(40, 60) [sub_resource type="RectangleShape2D" id="RectangleShape2D_6bim4"] resource_local_to_scene = true -size = Vector2(10, 60) +size = Vector2(10, 100) [sub_resource type="RectangleShape2D" id="RectangleShape2D_5s1ih"] resource_local_to_scene = true -size = Vector2(10, 70) [node name="S05院长房间" type="Node2D"] metadata/_edit_vertical_guides_ = [-45.0] @@ -230,7 +552,7 @@ libraries = { "": SubResource("AnimationLibrary_ifimj") } script = ExtResource("2_j5oim") -oneshot_animation = "" +oneshot_animation = "intro" [node name="BGSprite2D" parent="Ground" index="2"] position = Vector2(23, -115) @@ -238,33 +560,25 @@ scale = Vector2(0.333, 0.333) texture = ExtResource("3_3r1q2") [node name="portal_left" parent="Ground/DeployLayer" index="0"] -position = Vector2(26, 1) +position = Vector2(27, 3) [node name="portal_right" parent="Ground/DeployLayer" index="1"] -position = Vector2(502, 11) +position = Vector2(503, 11) texture = ExtResource("4_gdhoy") -target_scene = "c01_s05" +enabled = false +target_scene = "c01_s06" target_portal = "left" default_texture = ExtResource("4_gdhoy") opened_texture = ExtResource("5_cddn7") -[node name="座钟" parent="Ground/DeployLayer" index="2" instance=ExtResource("6_v72k7")] -position = Vector2(334, 22) -texture = ExtResource("7_3tetc") -texture_cover = ExtResource("7_3tetc") -editor_filter = "c01" -content_key = "c01_院长座钟" - -[node name="床" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_v72k7")] -position = Vector2(84, 47) +[node name="床" parent="Ground/DeployLayer" index="2" instance=ExtResource("10_18v0g")] +position = Vector2(84, 50) texture = ExtResource("7_xakd0") +title_filter = "c01" +note_key = "c01_院长床" -[node name="钢琴" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_v72k7")] -position = Vector2(413, 52) -texture = ExtResource("8_mnduo") - -[node name="桌椅" parent="Ground/DeployLayer" index="5" instance=ExtResource("10_18v0g")] -position = Vector2(154, 44) +[node name="桌椅" parent="Ground/DeployLayer" index="3" instance=ExtResource("10_18v0g")] +position = Vector2(155, 45.5094) texture = ExtResource("9_x837o") title_filter = "c01" note_key = "c01_院长书桌" @@ -277,12 +591,12 @@ metadata/_edit_use_anchors_ = true [node name="CollisionShape2D" parent="Ground/DeployLayer/桌椅/Area2D" index="0"] shape = SubResource("RectangleShape2D_6i5gw") -[node name="画框" parent="Ground/DeployLayer" index="6" instance=ExtResource("10_18v0g")] -position = Vector2(277, -26) +[node name="画框" parent="Ground/DeployLayer" index="4" instance=ExtResource("10_18v0g")] +position = Vector2(277, -24.4906) rotation = -0.179769 texture = ExtResource("11_6gq1s") -title_filter = "notes" -note_key = "notes_挂画" +title_filter = "c01" +note_key = "c01_倾斜的洋相片" [node name="Sign" parent="Ground/DeployLayer/画框" index="1"] offset_left = 3.0 @@ -292,29 +606,71 @@ offset_bottom = 73.0 metadata/_edit_use_anchors_ = true [node name="CollisionShape2D" parent="Ground/DeployLayer/画框/Area2D" index="0"] -position = Vector2(11, -1) +position = Vector2(11.63, 8.71044) shape = SubResource("RectangleShape2D_6bim4") -[node name="ambush鸡毛掸子" parent="Ground/DeployLayer" index="7" instance=ExtResource("15_1uixh")] +[node name="座钟" parent="Ground/DeployLayer" index="5" instance=ExtResource("10_18v0g")] +position = Vector2(335, 20) +texture = ExtResource("7_3tetc") +title_filter = "c01" +note_key = "c01_院长座钟" + +[node name="ambush鸡毛掸子" parent="Ground/DeployLayer" index="6" instance=ExtResource("15_1uixh")] unique_name_in_owner = true -position = Vector2(270, 23) +position = Vector2(270, 23.5) texture = ExtResource("12_jtglg") trigger_mode = "interact" -one_shot = false hook_animation = "使用鸡毛掸子" -[node name="使用鸡毛掸子" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"] +[node name="使用鸡毛掸子" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="7"] visible = false position = Vector2(261, 42) sprite_frames = ExtResource("14_e1bmq") animation = &"c01_小小蝶_拿鸡毛掸子" -[node name="Interactable" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_lq1ou")] -position = Vector2(207, 32) -one_shot = false -prop_key = "prop_1012钥匙" +[node name="小小蝶看书" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"] +visible = false +position = Vector2(84, 51) +sprite_frames = ExtResource("14_e1bmq") +animation = &"c01_小小蝶_床上看书" +frame = 10 -[node name="CollisionShape2D" parent="Ground/DeployLayer/Interactable/Area2D" index="0"] +[node name="oneshot纸片" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_lq1ou")] +position = Vector2(231, 77) + +[node name="SfxSuccess" parent="Ground/DeployLayer/oneshot纸片" index="1"] +stream = ExtResource("15_2jvyd") +file = "物品查看.mp3" + +[node name="Sign" parent="Ground/DeployLayer/oneshot纸片" index="2"] +modulate = Color(1, 1, 1, 0) +offset_left = 35.0 +offset_top = -70.0 +offset_right = 35.0 +offset_bottom = -70.0 +display_sign = false + +[node name="CollisionShape2D" parent="Ground/DeployLayer/oneshot纸片/Area2D" index="0"] +shape = SubResource("RectangleShape2D_5s1ih") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/oneshot纸片"] +position = Vector2(24, -33) +sprite_frames = ExtResource("14_e1bmq") +animation = &"c01_信碎片_falling" +frame = 9 + +[node name="钢琴" parent="Ground/DeployLayer" index="10" instance=ExtResource("14_lq1ou")] +position = Vector2(414, 51) +texture = ExtResource("8_mnduo") +one_shot = false + +[node name="Sign" parent="Ground/DeployLayer/钢琴" index="2"] +offset_left = -1.0 +offset_top = -8.0 +offset_right = -1.0 +offset_bottom = -8.0 + +[node name="CollisionShape2D" parent="Ground/DeployLayer/钢琴/Area2D" index="0"] shape = SubResource("RectangleShape2D_5s1ih") [node name="PointLight墙" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] @@ -331,11 +687,16 @@ height = 50.0 [node name="MainPlayer" parent="Ground" index="5"] character = "小小蝶" +running_locked = true [node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"] -position = Vector2(22, 32) +position = Vector2(21, 39) texture = ExtResource("3_vmr0f") +[node name="SubViewportContainer" parent="Ground" index="7"] +offset_top = -2.0 +offset_bottom = 1266.0 + [node name="HdLayer" parent="Ground/SubViewportContainer/SubViewport" index="0"] layer = -1 @@ -345,15 +706,128 @@ rotation = -0.000622023 energy = 0.3 blend_mode = 1 +[node name="Intro" type="ColorRect" parent="Ground"] +visible = false +custom_minimum_size = Vector2(564, 318) +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_top = -159.0 +offset_right = 564.0 +offset_bottom = 159.0 +grow_vertical = 2 +mouse_filter = 2 +color = Color(0, 0, 0, 1) + +[node name="HBoxContainer" type="HBoxContainer" parent="Ground/Intro"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -34.0 +offset_top = -10.0 +offset_right = 34.0 +offset_bottom = 10.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="MarginContainer" type="MarginContainer" parent="Ground/Intro/HBoxContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/margin_top = 70 +theme_override_constants/margin_right = 20 + +[node name="VerticalLabel" parent="Ground/Intro/HBoxContainer/MarginContainer" instance=ExtResource("20_t1dxj")] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "u +i +_ +夜 +行 +船 +5 +" +text_overrun_behavior = 1 +text_key = "ui_夜行船5" + +[node name="VerticalLabel2" parent="Ground/Intro/HBoxContainer" instance=ExtResource("20_t1dxj")] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "u +i +_ +夜 +行 +船 +4 +" +text_overrun_behavior = 1 +text_key = "ui_夜行船4" + +[node name="VerticalLabel5" parent="Ground/Intro/HBoxContainer" instance=ExtResource("20_t1dxj")] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "u +i +_ +夜 +行 +船 +3 +" +text_overrun_behavior = 1 +text_key = "ui_夜行船3" + +[node name="VerticalLabel4" parent="Ground/Intro/HBoxContainer" instance=ExtResource("20_t1dxj")] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "u +i +_ +夜 +行 +船 +2 +" +text_overrun_behavior = 1 +text_key = "ui_夜行船2" + +[node name="VerticalLabel3" parent="Ground/Intro/HBoxContainer" instance=ExtResource("20_t1dxj")] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "u +i +_ +夜 +行 +船 +1 +" +text_overrun_behavior = 1 +text_key = "ui_夜行船1" + +[node name="sfx_door_open" type="AudioStreamPlayer" parent="Ground"] +unique_name_in_owner = true +stream = ExtResource("22_4c44k") +bus = &"game_sfx" +script = ExtResource("23_o1482") +file = "门锁互动.mp3" + [node name="参考" type="Sprite2D" parent="Ground"] visible = false modulate = Color(1, 1, 1, 0.219608) -position = Vector2(281, -1) +position = Vector2(281.5, 3.3) scale = Vector2(0.333, 0.333) texture = ExtResource("3_7u4bh") [editable path="Ground"] [editable path="Ground/DeployLayer/桌椅"] [editable path="Ground/DeployLayer/画框"] -[editable path="Ground/DeployLayer/Interactable"] -[editable path="Ground/DeployLayer/Interactable/Sign"] +[editable path="Ground/DeployLayer/oneshot纸片"] +[editable path="Ground/DeployLayer/oneshot纸片/Sign"] +[editable path="Ground/DeployLayer/钢琴"] +[editable path="Ground/DeployLayer/钢琴/Sign"] diff --git a/scene/ground/scene/c01/s06_animation.gd b/scene/ground/scene/c01/s06_animation.gd new file mode 100644 index 00000000..66ddaabd --- /dev/null +++ b/scene/ground/scene/c01/s06_animation.gd @@ -0,0 +1,15 @@ +@tool +extends AnimationRoot + + +# 覆盖该方法 +func _default_data() -> Dictionary: + return {} + + +func _ready() -> void: + super._ready() + + +func _on_deploy_layer_ready() -> void: + pass diff --git a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn new file mode 100644 index 00000000..81f5b353 --- /dev/null +++ b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn @@ -0,0 +1,131 @@ +[gd_scene load_steps=10 format=3 uid="uid://bx16c8nn32f40"] + +[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_bitx7"] +[ext_resource type="Script" path="res://scene/ground/scene/c01/s06_animation.gd" id="2_fkfhi"] +[ext_resource type="SpriteFrames" uid="uid://cc0ea1he2nfc2" path="res://asset/art/gif/c01_孤儿院长廊/frames.tres" id="2_l4axy"] +[ext_resource type="Texture2D" uid="uid://bptk6i6rnolir" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/bg_院子长背景.png" id="2_ow3ya"] +[ext_resource type="Texture2D" uid="uid://h536hwonbrut" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/e_院长周围凳子.png" id="3_su6aw"] +[ext_resource type="Texture2D" uid="uid://c40gmvqw3vd88" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png" id="4_6ffae"] +[ext_resource type="SpriteFrames" uid="uid://cemn2bnebsfko" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/全局参考.gif" id="4_8hecq"] +[ext_resource type="Texture2D" uid="uid://bllt2wycchkp2" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png" id="4_dtycx"] +[ext_resource type="Script" path="res://scene/tool/autoplay_animated_sprite.gd" id="5_ailfs"] + +[node name="S06" type="Node2D"] +metadata/_edit_horizontal_guides_ = [158.0, 88.0] + +[node name="Ground" parent="." instance=ExtResource("1_bitx7")] + +[node name="AnimationPlayer" parent="Ground" index="0"] +script = ExtResource("2_fkfhi") +oneshot_animation = "" + +[node name="BGSprite2D" parent="Ground" index="2"] +texture = ExtResource("2_ow3ya") +offset = Vector2(0, -159) + +[node name="院长凳子" type="Sprite2D" parent="Ground/BGSprite2D" index="0"] +position = Vector2(30, -6) +texture = ExtResource("3_su6aw") +centered = false + +[node name="portal_left" parent="Ground/DeployLayer" index="0"] +position = Vector2(144, 20) +target_scene = "c01_s05" +target_portal = "right" + +[node name="portal_right" parent="Ground/DeployLayer" index="1"] +position = Vector2(1886, 28) + +[node name="男孩" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"] +position = Vector2(547.5, 0.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"男孩跑动-右" +script = ExtResource("5_ailfs") + +[node name="跷跷板" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="3"] +position = Vector2(1358.5, -0.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"跷跷板" +script = ExtResource("5_ailfs") + +[node name="秋千" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="4"] +position = Vector2(1241.5, -0.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"秋千" +script = ExtResource("5_ailfs") + +[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] +energy = 0.6 +range_layer_max = 2 +texture = ExtResource("4_6ffae") +offset = Vector2(601.5, -0.5) + +[node name="MainPlayer" parent="Ground" index="5"] +position = Vector2(144, 88) +character = "小小蝶" + +[node name="柱子" type="Sprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="0"] +position = Vector2(0, 31) +texture = ExtResource("4_dtycx") +centered = false +offset = Vector2(0, -153) + +[node name="群众" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="1"] +position = Vector2(377.5, -1.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"中蓝衣小孩呼吸" +script = ExtResource("5_ailfs") + +[node name="群众2" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="2"] +position = Vector2(408.5, 0.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"右绿衣男孩呼吸" +script = ExtResource("5_ailfs") + +[node name="群众3" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="3"] +position = Vector2(269.5, -1.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"左2黄衣男呼吸" +script = ExtResource("5_ailfs") + +[node name="群众4" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="4"] +position = Vector2(426.5, -0.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"左一绿衣男呼吸" +script = ExtResource("5_ailfs") + +[node name="红衣姑娘" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="5"] +position = Vector2(333.5, -1.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"红衣姑娘呼吸" +script = ExtResource("5_ailfs") + +[node name="院长" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="6"] +position = Vector2(301.5, -1.5) +sprite_frames = ExtResource("2_l4axy") +animation = &"院长呼吸" +script = ExtResource("5_ailfs") + +[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"] +texture = null + +[node name="动态前景" type="AnimatedSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="1"] +position = Vector2(2, 1) +sprite_frames = ExtResource("2_l4axy") +animation = &"fg_花圃" +offset = Vector2(1615, 0) + +[node name="DirectionalLight2D" parent="Ground" index="8"] +energy = 0.3 +blend_mode = 1 + +[node name="参考" type="AnimatedSprite2D" parent="Ground"] +visible = false +modulate = Color(1, 1, 1, 0.384314) +sprite_frames = ExtResource("4_8hecq") +animation = &"gif" +autoplay = "gif" +centered = false +offset = Vector2(0, -159) + +[editable path="Ground"] diff --git a/scene/ground/scene/c02/s01_animation.gd b/scene/ground/scene/c02/s01_animation.gd index 4d0cdf80..6fe18e6f 100644 --- a/scene/ground/scene/c02/s01_animation.gd +++ b/scene/ground/scene/c02/s01_animation.gd @@ -9,17 +9,20 @@ func _default_data() -> Dictionary: func _ready() -> void: super._ready() + if Engine.is_editor_hint(): + return if not data["received_letter"]: SceneManager.freeze_player(0.5) get_tree().create_timer(0.5).timeout.connect(_give_letter) elif GlobalConfig.DEBUG: print("_give_letter 已发放") + func _on_deploy_layer_ready() -> void: pass + func _give_letter() -> void: set_data("received_letter", true) SceneManager.enable_prop_item("prop_令牌") print("_give_letter") - diff --git a/scene/ground/scene/template_animation.gd b/scene/ground/scene/template_animation.gd index 6208c0b7..66ddaabd 100644 --- a/scene/ground/scene/template_animation.gd +++ b/scene/ground/scene/template_animation.gd @@ -9,3 +9,7 @@ func _default_data() -> Dictionary: func _ready() -> void: super._ready() + + +func _on_deploy_layer_ready() -> void: + pass diff --git a/scene/main.tscn b/scene/main.tscn index ac819ad9..154c2237 100644 --- a/scene/main.tscn +++ b/scene/main.tscn @@ -25,7 +25,6 @@ entrance_portal = "right" [node name="PropInspector" parent="." instance=ExtResource("5_ux0rw")] unique_name_in_owner = true -layer = 21 [node name="UILayer" type="CanvasLayer" parent="."] unique_name_in_owner = true diff --git a/scene/player/main_player.gd b/scene/player/main_player.gd index c8d2d0cb..7c4ba989 100644 --- a/scene/player/main_player.gd +++ b/scene/player/main_player.gd @@ -3,10 +3,11 @@ extends CharacterBody2D class_name MainPlayer -@export_enum("吕萍", "吕萍爬行", "吕萍带小猫", "小蝶", "小小蝶") var character := "吕萍": +@export_enum("吕萍", "吕萍爬行", "吕萍带小猫", "小小蝶") var character := "吕萍": set(val): character = val - current_animation_config = PlayerAnimationConfig.ANIMATION_CONFIG[val] + # 使用 new,方便在 editor 中刷新新值 + current_animation_config = PlayerAnimationConfig.new().ANIMATION_CONFIG[val] current_status = PlayerAnimationConfig.MOVEMENT_IDLE if is_node_ready(): sprite.scale = current_animation_config["scale"] @@ -14,7 +15,7 @@ class_name MainPlayer # var shadow_y := 0.0 @export var player_movement_rect := Rect2(50, -500, 1400, 1000) @export var velocity_ratio := 1.0 - +@export var running_locked := false # action_locked 用于设置界面等强制锁定,action_freezed 用于查看物品等锁定 # action_locked 优先级高于 action_freezed # action_locked 对应 lock 与 unlock 方法 @@ -37,7 +38,10 @@ class_name MainPlayer facing_direction = val _play_animation() -var current_animation_config := PlayerAnimationConfig.ANIMATION_CONFIG[character] as Dictionary +# 使用 new,方便在 editor 中刷新新值 +var current_animation_config := ( + PlayerAnimationConfig.new().ANIMATION_CONFIG[character] as Dictionary +) @onready var footstep_timer = %FootstepTimer as Timer @onready var sprite = %AnimatedSprite2D as AnimatedSprite2D @@ -85,7 +89,11 @@ func _check_status(direction) -> bool: if direction.x: new_facing_direction.x = direction.x tmp_status = PlayerAnimationConfig.MOVEMENT_WALKING - if Input.is_action_pressed("run") and !current_animation_config["running_locked"]: + if ( + not running_locked + and Input.is_action_pressed("run") + and current_animation_config["can_run"] + ): tmp_status = PlayerAnimationConfig.MOVEMENT_RUNNING else: tmp_status = PlayerAnimationConfig.MOVEMENT_IDLE @@ -107,6 +115,9 @@ func _play_animation() -> void: sprite.scale = current_animation_config["scale"] # reset the os label position on animation changed. _reset_os_and_shadow_position() + # 检查动画基础偏移 + check_foot_offset() + # 进一步偏移+播放动画 var config = current_animation_config[current_status] if facing_direction.x > 0.0: sprite.play(config[1]) @@ -116,6 +127,7 @@ func _play_animation() -> void: sprite.play(config[0]) if config.size() > 2: sprite.offset += config[2] + # 播放脚步音效 match current_status: PlayerAnimationConfig.MOVEMENT_IDLE: footstep_timer.stop() @@ -184,10 +196,10 @@ func freeze_player(lock_time: float, action_animation: int, auto_quit: bool) -> # animation_name, scale, offset var config = current_animation_config[action_animation] var animation = config[0] - if not animation and config.size() >= 4: + sprite.scale = config[1] + sprite.offset = config[2] + if not animation and config.size() >= 5: animation = config[4] if facing_direction.x > 0.0 else config[3] - sprite.scale = config[1] if config.size() > 1 else Vector2.ONE - sprite.offset = config[2] if config.size() > 2 else Vector2.ZERO if animation and sprite.sprite_frames.has_animation(animation): sprite.sprite_frames.set_animation_loop(animation, false) sprite.play(animation) @@ -310,17 +322,59 @@ func _os_load_line(line): os_label.dialogue_line = line -# func walk_to(pos: Vector2, duration: float, auto_unfreeze := true) -> void: -# var tween = create_tween() -# action_freezed = true -# velocity = Vector2.ZERO -# current_status = PlayerAnimationConfig.MOVEMENT_WALKING -# facing_direction.x = 1.0 if pos.x > global_position.x else -1.0 -# _play_animation() -# tween.tween_property(self, "global_position", pos, duration) -# if auto_unfreeze: -# tween.tween_callback(_after_walk_to) +# animation -> offset_y +var foot_offset_dict = {} -# func _after_walk_to(): -# action_freezed = false +func check_foot_offset(): + var animation = sprite.animation + if ( + current_animation_config.has("auto_foot_offset") + and current_animation_config["auto_foot_offset"] + ): + sprite.offset = Vector2.ZERO + if not foot_offset_dict.has(animation): + var frame_y = sprite.sprite_frames.get_frame_texture(animation, 0).get_size().y + foot_offset_dict[animation] = frame_y * 0.5 + # 从屏幕下边缘算起 + global_position.y = 158.0 - foot_offset_dict[animation] + elif current_animation_config.has("foot_offset"): + sprite.offset = current_animation_config["foot_offset"] + + +# 从地面高度设置 y 坐标 +func set_y_from_ground(player_y: float) -> void: + if ( + current_animation_config.has("auto_foot_offset") + and current_animation_config["auto_foot_offset"] + ): + # 无视地面 y,使用动画帧中的 y + if GlobalConfig.DEBUG: + print("set_y_from_ground: auto_foot_offset") + else: + global_position.y = player_y + + +func walk_to(pos: Vector2, duration: float) -> void: + var tween = create_tween() + velocity = Vector2.ZERO + if pos.x < global_position.x: + facing_direction.x = -1.0 + elif pos.x > global_position.x: + facing_direction.x = 1.0 + _check_status(facing_direction) + _play_animation() + if GlobalConfig.DEBUG: + print("walk_to:", pos, duration, " from:", global_position) + # 不同距离下,行走时长略做自适应 + var time_cost = min(duration, global_position.distance_to(pos) / 50.0) + if time_cost < duration: + tween.tween_interval(duration - time_cost) + tween.tween_property(self, "global_position", pos, time_cost) + tween.tween_callback(_after_walk_to) + + +func _after_walk_to(): + velocity = Vector2.ZERO + current_status = PlayerAnimationConfig.MOVEMENT_IDLE + _play_animation() diff --git a/scene/player/main_player.tscn b/scene/player/main_player.tscn index 7ea19f23..e046b5d7 100644 --- a/scene/player/main_player.tscn +++ b/scene/player/main_player.tscn @@ -7,7 +7,7 @@ [ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_label.gd" id="5_tclgd"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_fno82"] -size = Vector2(78.25, 205.062) +size = Vector2(50, 180) [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_j5yhp"] texture = ExtResource("4_0qo0c") @@ -25,7 +25,6 @@ region_rect = Rect2(24, 76, 38, 24) modulate_color = Color(0.996078, 0.92549, 0.85098, 0.733333) [node name="MainPlayer" type="CharacterBody2D"] -position = Vector2(48, 0) collision_mask = 2 script = ExtResource("1_3a78y") metadata/_edit_vertical_guides_ = [-120.0] @@ -36,14 +35,15 @@ unique_name_in_owner = true wait_time = 0.5 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -50) shape = SubResource("RectangleShape2D_fno82") [node name="OSPivot" type="Control" parent="."] unique_name_in_owner = true layout_mode = 3 anchors_preset = 0 -offset_top = -60.0 -offset_bottom = -60.0 +offset_top = -120.0 +offset_bottom = -120.0 mouse_filter = 2 [node name="MarginContainer" type="MarginContainer" parent="OSPivot"] @@ -91,9 +91,7 @@ seconds_per_pause_step = 0.15 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] unique_name_in_owner = true -position = Vector2(0, -9) scale = Vector2(0.6, 0.6) sprite_frames = ExtResource("2_3w63u") -animation = &"c01_小小蝶_拿鸡毛掸子" -frame = 11 -frame_progress = 1.0 +animation = &"c00_吕萍_idle_right" +offset = Vector2(0, -100) diff --git a/scene/player/player_animation_config.gd b/scene/player/player_animation_config.gd index 546a5c78..1d5359ec 100644 --- a/scene/player/player_animation_config.gd +++ b/scene/player/player_animation_config.gd @@ -10,19 +10,19 @@ enum { ACTION_LOOKUP_WALL, } -const ANIMATION_CONFIG = { +var ANIMATION_CONFIG = { "吕萍": { "scale": Vector2(0.6, 0.6), "speed_walking": 75.0, - "running_locked": false, + "can_run": true, "speed_runnig": 120.0, "walk_footstep": 0.5, "run_footstep": 7.0 / 10.0 / 2.0, # 内心 os 时,dialogue 的高度 - "os_height": 60.0, + "os_height": 120.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 - "foot_offset": Vector2(0, 0), + "foot_offset": Vector2(0, -100), MOVEMENT_IDLE: [&"c00_吕萍_idle_left", &"c00_吕萍_idle_right"], MOVEMENT_WALKING: [&"c00_吕萍_walking_left", &"c00_吕萍_walking_right"], MOVEMENT_RUNNING: [&"c00_吕萍_running_left", &"c00_吕萍_running_right"], @@ -31,16 +31,16 @@ const ANIMATION_CONFIG = { }, "吕萍爬行": { - "scale": Vector2(0.6, 0.6), + "scale": Vector2.ONE, "speed_walking": 50.0, - "running_locked": true, + "can_run": false, "speed_runnig": 50.0, "walk_footstep": 0.7, "run_footstep": 0.7, - "os_height": 10.0, + "os_height": 50.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 # 吕萍爬行高 59px - "foot_offset": Vector2(0, 27.0), + "foot_offset": Vector2(0, -23.5), MOVEMENT_IDLE: [&"c02_吕萍_爬行_idle_l", &"c02_吕萍_爬行_idle_r"], MOVEMENT_WALKING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"], MOVEMENT_RUNNING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"], @@ -49,50 +49,51 @@ const ANIMATION_CONFIG = { { "scale": Vector2(0.6, 0.6), "speed_walking": 75.0, - "running_locked": true, + "can_run": false, "speed_runnig": 75.0, "walk_footstep": 0.5, "run_footstep": 0.5, - "os_height": 60.0, + "os_height": 120.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 - "foot_offset": Vector2(0, 0), + "foot_offset": Vector2(0, -100), MOVEMENT_IDLE: [&"c00_吕萍带小猫_idle_left", &"c00_吕萍带小猫_idle_right"], MOVEMENT_WALKING: [&"c00_吕萍带小猫_walking_left", &"c00_吕萍带小猫_walking_right"], MOVEMENT_RUNNING: [&"c00_吕萍带小猫_walking_left", &"c00_吕萍带小猫_walking_right"], }, - "小蝶": - { - "scale": Vector2.ONE, - "speed_walking": 75.0, - "running_locked": true, - "speed_runnig": 75.0, - "walk_footstep": 0.5, - "run_footstep": 7.0 / 10.0 / 2.0, - "os_height": 50.0, - # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 - "foot_offset": Vector2(0, 0), - MOVEMENT_IDLE: [&"c00_吕萍_idle_left", &"c00_吕萍_idle_right"], - MOVEMENT_WALKING: [&"c00_吕萍_walking_left", &"c00_吕萍_walking_right"], - MOVEMENT_RUNNING: [&"c00_吕萍_running_left", &"c00_吕萍_running_right"], - }, + # "小蝶": + # { + # "scale": Vector2.ONE, + # "speed_walking": 75.0, + # "running_locked": true, + # "speed_runnig": 75.0, + # "walk_footstep": 0.5, + # "run_footstep": 7.0 / 10.0 / 2.0, + # "os_height": 50.0, + # # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 + # "foot_offset": Vector2(0, 0), + # MOVEMENT_IDLE: [&"c00_吕萍_idle_left", &"c00_吕萍_idle_right"], + # MOVEMENT_WALKING: [&"c00_吕萍_walking_left", &"c00_吕萍_walking_right"], + # MOVEMENT_RUNNING: [&"c00_吕萍_running_left", &"c00_吕萍_running_right"], + # }, "小小蝶": { "scale": Vector2.ONE, "speed_walking": 55.0, - "running_locked": false, + "can_run": true, "speed_runnig": 100.0, "walk_footstep": 0.5, "run_footstep": 7.0 / 10.0 / 2.0, - "os_height": 10.0, + "os_height": 70.0, + # 如果使用 auto,就会自动以最低点为基准 + # "auto_foot_offset": true, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 # 小蝶高 124px,行走时 116px - "foot_offset": Vector2(0, 20.0), + "foot_offset": Vector2(0, -37.0), MOVEMENT_IDLE: [&"c01_小小蝶_idle_l", &"c01_小小蝶_idle_r"], # 此处为[2][3]分别为 sprite 向左、向右时的 offset - MOVEMENT_WALKING: - [&"c01_小小蝶_walking_l", &"c01_小小蝶_walking_r"], + MOVEMENT_WALKING: [&"c01_小小蝶_walking_l", &"c01_小小蝶_walking_r"], MOVEMENT_RUNNING: [&"c01_小小蝶_running_l", &"c01_小小蝶_running_r"], - # animation_name, scale, offset, left, right - ACTION_LOOKUP_WALL: [&"", Vector2(1, 1), Vector2(0, 20.0), &"c01_小小蝶_抬头_l", &"c01_小小蝶_抬头_r"], + # animation_name, left, right + ACTION_LOOKUP_WALL: [&"", Vector2.ONE, Vector2(0, -37.0), &"c01_小小蝶_抬头_l", &"c01_小小蝶_抬头_r"], }, } diff --git a/scene/prop/prop_hud.gd b/scene/prop/prop_hud.gd index d416d5d7..19ea397d 100644 --- a/scene/prop/prop_hud.gd +++ b/scene/prop/prop_hud.gd @@ -53,10 +53,10 @@ var container_tween: Tween func _ready() -> void: - _load_items() - _load_from_archive() if Engine.is_editor_hint(): return + _load_items() + _load_from_archive() focus_exited.connect(_on_focus_exited) # 存档更新时,从存档加载 prop ArchiveManager.archive_loaded.connect(_load_from_archive) @@ -121,8 +121,13 @@ func _load_from_archive() -> void: func _load_texture_cache() -> void: if not inventory: return - cached_inventory_textures.clear() + for k in cached_inventory_textures: + # remove invalid textures + if not k in inventory.enabled_items: + cached_inventory_textures.erase(k) for key in inventory.enabled_items: + if cached_inventory_textures.has(key): + continue # 以 items_dict 为准,如果 enabled_items 中的 key 不存在,则删除 if not key in items_dict: inventory.enabled_items.erase(key) @@ -132,6 +137,8 @@ func _load_texture_cache() -> void: continue var texture = load(path) as Texture2D if texture: + if GlobalConfig.DEBUG: + print("Cache load prop texture:", path) cached_inventory_textures[key] = texture # wrap index inventory.current_index = wrapi(inventory.current_index, 0, inventory.enabled_items.size()) @@ -283,12 +290,17 @@ func enable_prop_item(prop_key: String) -> void: inventory.enable_item(prop_key) _load_texture_cache() _update_prop_display_with_texture() - # save to archive immediately - ArchiveManager.save_all() + if GlobalConfig.DEBUG: + print("PropHUD Enable prop item:", prop_key) var inspector = SceneManager.get_inspector() if inspector: - var texture = load(items_dict[prop_key].inspect_path) as Texture2D - inspector.pop_prop_inspection(texture) + var inspect_path = items_dict[prop_key].inspect_path + if inspect_path: + var texture = load(inspect_path) as Texture2D + inspector.pop_prop_inspection(texture) + else: + var texture = cached_inventory_textures[prop_key] + inspector.pop_prop_inspection(texture, true) var prop_title = tr(prop_key) var obtain_str = tr("ui_获得") var text = "~ " + prop_key + "\n" + obtain_str + ": " + prop_title diff --git a/scene/prop/prop_inspector.gd b/scene/prop/prop_inspector.gd index 2ec6db41..4eea90bd 100644 --- a/scene/prop/prop_inspector.gd +++ b/scene/prop/prop_inspector.gd @@ -6,12 +6,15 @@ enum { STATUS_HIDDEN, STATUS_INSPECTING_PROP, STATUS_INSPECTING_COVER, STATUS_IN # must be connected to signal quit -@onready var texture_rect = %TextureRect as TextureRect +@onready var prop_bg = %PropBG as TextureRect +@onready var origin_texture = %OriginPropTexture as TextureRect +@onready var full_texture = %FullTexture as TextureRect @onready var content_label = %ContentLabel as Label @onready var tip_label = %TipLabel as Label -var tip_cover = "Q: 退出 E: 阅读" -var tip_notes = "Q: 退出 E: 收起" + +var tip_cover = "Q: " + tr("ui_退出") + " " + "E: " + tr("ui_阅读") +var tip_notes = "Q: " + tr("ui_退出") + " " + "E: " + tr("ui_收起") var texture_cover: Texture2D var texture_notes: Texture2D @@ -21,18 +24,23 @@ var blinking_tween: Tween # Called when the node enters the scene tree for the first time. func _ready() -> void: + tip_label.text = tip_cover + if Engine.is_editor_hint(): + return visible = false layer = GlobalConfig.CANVAS_LAYER_PROP_INSPECTOR - texture_rect.modulate.a = 0.0 + origin_texture.modulate.a = 0.0 + prop_bg.modulate.a = 0.0 + full_texture.modulate.a = 0.0 content_label.modulate.a = 0.0 tip_label.modulate.a = 0.0 - tip_label.text = tip_cover func _hide(): status = STATUS_HIDDEN var tween = create_tween() - tween.tween_property(texture_rect, "modulate:a", 0.0, 0.3) + tween.tween_property(origin_texture, "modulate:a", 0.0, 0.3) + tween.parallel().tween_property(full_texture, "modulate:a", 0.0, 0.3) tween.parallel().tween_property(content_label, "modulate:a", 0.0, 0.15) if blinking_tween and blinking_tween.is_running(): blinking_tween.stop() @@ -42,7 +50,8 @@ func _hide(): func _post_hide(): - texture_rect.texture = null + origin_texture.texture = null + full_texture.texture = null texture_cover = null texture_notes = null content_label.text = "" @@ -67,18 +76,18 @@ func pop_standard_inspection(cover_texture, notes_texture, inspection_note): _hide() status = STATUS_INSPECTING_COVER visible = true - texture_rect.texture = cover_texture + full_texture.texture = cover_texture texture_cover = cover_texture texture_notes = notes_texture content_label.text = inspection_note SceneManager.freeze_player(0) var tween = create_tween() - tween.tween_property(texture_rect, "modulate:a", 1.0, 0.15) + tween.tween_property(full_texture, "modulate:a", 1.0, 0.15) tip_label.text = tip_cover _blink_label() -func pop_prop_inspection(cover_texture): +func pop_prop_inspection(cover_texture: Texture2D, use_default_bg := false): if status != STATUS_HIDDEN: _hide() if not cover_texture: @@ -86,14 +95,20 @@ func pop_prop_inspection(cover_texture): return status = STATUS_INSPECTING_PROP visible = true - texture_rect.texture = cover_texture - texture_cover = cover_texture - texture_notes = null + var tween = create_tween() + if use_default_bg: + prop_bg.visible = true + origin_texture.texture = cover_texture + full_texture.texture = null + tween.tween_property(origin_texture, "modulate:a", 1.0, 0.15) + tween.tween_property(prop_bg, "modulate:a", 1.0, 0.15) + else: + origin_texture.texture = null + full_texture.texture = cover_texture + tween.tween_property(full_texture, "modulate:a", 1.0, 0.15) content_label.text = "" tip_label.text = "" SceneManager.freeze_player(0) - var tween = create_tween() - tween.tween_property(texture_rect, "modulate:a", 1.0, 0.15) func _unhandled_input(event: InputEvent) -> void: @@ -109,16 +124,20 @@ func _unhandled_input(event: InputEvent) -> void: if status == STATUS_INSPECTING_COVER: # inspect notes status = STATUS_INSPECTING_NOTES - texture_rect.texture = texture_notes + # if not texture_notes: + # prop_bg.visible = true + # else: + # texture_rect.texture = texture_notes + full_texture.texture = texture_notes tip_label.text = tip_notes create_tween().tween_property(content_label, "modulate:a", 1.0, 0.2) elif status == STATUS_INSPECTING_NOTES: # inspect cover status = STATUS_INSPECTING_COVER - texture_rect.texture = texture_cover + full_texture.texture = texture_cover tip_label.text = tip_cover create_tween().tween_property(content_label, "modulate:a", 0.0, 0.2) # STATUS_INSPECTING_PROP 直接退出 elif status == STATUS_INSPECTING_PROP: _hide() - quit.emit() \ No newline at end of file + quit.emit() diff --git a/scene/prop/prop_inspector.tscn b/scene/prop/prop_inspector.tscn index 6b88084c..6a0bf496 100644 --- a/scene/prop/prop_inspector.tscn +++ b/scene/prop/prop_inspector.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://cekhj65axie0p"] +[gd_scene load_steps=5 format=3 uid="uid://cekhj65axie0p"] [ext_resource type="Script" path="res://scene/prop/prop_inspector.gd" id="1_2wpwe"] [ext_resource type="Texture2D" uid="uid://cvgw2mxrlr6io" path="res://asset/art/scene/c02/s02_走道/ux_进门鼠疫海报yz.png" id="2_wr575"] +[ext_resource type="Texture2D" uid="uid://cgghff16powfg" path="res://asset/art/ui/prop遮罩.png" id="3_uf004"] [sub_resource type="LabelSettings" id="LabelSettings_5qe7a"] line_spacing = 1.0 @@ -9,10 +10,43 @@ font_size = 11 [node name="PropInspector" type="CanvasLayer"] layer = 21 -visible = false script = ExtResource("1_2wpwe") -[node name="TextureRect" type="TextureRect" parent="."] +[node name="PropBG" type="TextureRect" parent="."] +unique_name_in_owner = true +visible = false +anchors_preset = 14 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_top = -120.0 +offset_bottom = 120.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 4 +mouse_filter = 2 +texture = ExtResource("3_uf004") + +[node name="CenterContainer" type="CenterContainer" parent="."] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -20.0 +offset_top = -20.0 +offset_right = 20.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="OriginPropTexture" type="TextureRect" parent="CenterContainer"] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 2 + +[node name="FullTexture" type="TextureRect" parent="."] unique_name_in_owner = true modulate = Color(1, 1, 1, 0) anchors_preset = 8 @@ -62,7 +96,7 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = -47.5 -offset_top = -40.0 +offset_top = -53.0 offset_right = 47.5 grow_horizontal = 2 grow_vertical = 0 diff --git a/scene/tool/autoplay_animated_sprite.gd b/scene/tool/autoplay_animated_sprite.gd new file mode 100644 index 00000000..b0d6b2d7 --- /dev/null +++ b/scene/tool/autoplay_animated_sprite.gd @@ -0,0 +1,8 @@ +extends AnimatedSprite2D + + +func _ready() -> void: + if animation: + # 制造一点错差 + frame = randi() % sprite_frames.get_frame_count(animation) + play() diff --git a/ui/vertical_label.gd b/ui/vertical_label.gd new file mode 100644 index 00000000..1c5cee8a --- /dev/null +++ b/ui/vertical_label.gd @@ -0,0 +1,21 @@ +@tool +extends Label + +@export var text_key := "": + set(val): + text_key = val + _display() + + +func _ready() -> void: + auto_translate = false + _display() + + +func _display(): + var translated_text = tr(text_key) + # make the label vertical + var new_text = "" + for c in translated_text: + new_text += c + "\n" + text = new_text diff --git a/ui/vertical_label.tscn b/ui/vertical_label.tscn new file mode 100644 index 00000000..330dca37 --- /dev/null +++ b/ui/vertical_label.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://dw0s23v7qmj28"] + +[ext_resource type="LabelSettings" uid="uid://dd6jhbqr6uh3x" path="res://config/vertical_label_settings.tres" id="1_v3g0d"] +[ext_resource type="Script" path="res://ui/vertical_label.gd" id="2_vs1gg"] + +[node name="VerticalLabel" type="Label"] +auto_translate_mode = 2 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +label_settings = ExtResource("1_v3g0d") +script = ExtResource("2_vs1gg")