From 06e70541567778b45ef37f09d4a435fc2f18cc79 Mon Sep 17 00:00:00 2001 From: cakipaul Date: Thu, 20 Mar 2025 18:00:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=8F=E7=AB=A0=E6=96=87=E6=A1=88=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E7=BB=86=E8=8A=82=E6=95=B4=E6=94=B9=EF=BC=9B=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Note2d=E4=BA=92=E5=8A=A8=E5=8A=A8=E4=BD=9C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asset/art/animation/c01_小小蝶_背面抬头/1.png | Bin 0 -> 1546 bytes .../c01_小小蝶_背面抬头/1.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面抬头/2.png | Bin 0 -> 1603 bytes .../c01_小小蝶_背面抬头/2.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面抬头/3.png | Bin 0 -> 1589 bytes .../c01_小小蝶_背面抬头/3.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面抬头/4.png | Bin 0 -> 1603 bytes .../c01_小小蝶_背面抬头/4.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/1.png | Bin 0 -> 1548 bytes .../c01_小小蝶_背面蹲下/1.png.import | 34 ++++ .../art/animation/c01_小小蝶_背面蹲下/10.png | Bin 0 -> 1548 bytes .../c01_小小蝶_背面蹲下/10.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/2.png | Bin 0 -> 1575 bytes .../c01_小小蝶_背面蹲下/2.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/3.png | Bin 0 -> 1425 bytes .../c01_小小蝶_背面蹲下/3.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/4.png | Bin 0 -> 1356 bytes .../c01_小小蝶_背面蹲下/4.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/5.png | Bin 0 -> 1384 bytes .../c01_小小蝶_背面蹲下/5.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/6.png | Bin 0 -> 1385 bytes .../c01_小小蝶_背面蹲下/6.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/7.png | Bin 0 -> 1384 bytes .../c01_小小蝶_背面蹲下/7.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/8.png | Bin 0 -> 1425 bytes .../c01_小小蝶_背面蹲下/8.png.import | 34 ++++ asset/art/animation/c01_小小蝶_背面蹲下/9.png | Bin 0 -> 1575 bytes .../c01_小小蝶_背面蹲下/9.png.import | 34 ++++ asset/art/fog_mask.png | Bin 3038 -> 2529 bytes asset/art/tool/fog_mask_generator.tscn | 6 +- asset/dialogue/c01.dialogue | 29 +-- asset/dialogue/item_description.csv | 4 +- asset/dialogue/item_description.dialogue | 4 +- config/animation/entity_sprite_frames.tres | 68 ++++++- manager/config_manager/global_config.gd | 6 +- scene/dialog/balloon.gd | 1 + scene/dialog/balloon.tscn | 5 +- scene/dialog/balloon_debug.tscn | 2 +- scene/entity/note.gd | 13 +- .../partical/particals_ash_vertical.tscn | 15 +- scene/ground/camera/camera_focus_marker.gd | 2 +- scene/ground/scene/c01/s05_animation.gd | 9 +- scene/ground/scene/c01/s05_院长房间.tscn | 2 +- scene/ground/scene/c01/s06_animation.gd | 30 ++- .../ground/scene/c01/s06_孤儿院长廊围墙.tscn | 72 +++---- scene/ground/scene/c01/s08_animation.gd | 2 +- scene/ground/scene/c01/s12_书店外_诡异版.tscn | 18 +- scene/ground/script/c01/s12_飘动的寻人启事.gd | 4 +- .../ground/script/c01/s12_飘动的寻人启事.tscn | 2 +- scene/little_game/书架/书架.gd | 1 + scene/little_game/书架/书架.tscn | 1 + scene/little_game/书架/生死簿.gd | 3 +- scene/little_game/书架/生死簿.tscn | 179 ++++++++++++++---- scene/little_game/书架/陆小蝶名字.gd | 44 +---- scene/player/main_player.gd | 4 + scene/player/main_player.tscn | 2 +- scene/player/player_animation_config.gd | 2 +- scene/prop/prop_bag.gd | 3 +- scene/settings/settings.gd | 4 +- 59 files changed, 829 insertions(+), 184 deletions(-) create mode 100755 asset/art/animation/c01_小小蝶_背面抬头/1.png create mode 100644 asset/art/animation/c01_小小蝶_背面抬头/1.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面抬头/2.png create mode 100644 asset/art/animation/c01_小小蝶_背面抬头/2.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面抬头/3.png create mode 100644 asset/art/animation/c01_小小蝶_背面抬头/3.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面抬头/4.png create mode 100644 asset/art/animation/c01_小小蝶_背面抬头/4.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/1.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/1.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/10.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/10.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/2.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/2.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/3.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/3.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/4.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/4.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/5.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/5.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/6.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/6.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/7.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/7.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/8.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/8.png.import create mode 100755 asset/art/animation/c01_小小蝶_背面蹲下/9.png create mode 100644 asset/art/animation/c01_小小蝶_背面蹲下/9.png.import diff --git a/asset/art/animation/c01_小小蝶_背面抬头/1.png b/asset/art/animation/c01_小小蝶_背面抬头/1.png new file mode 100755 index 0000000000000000000000000000000000000000..319f9e5ce8943d4abb9d74a9ecaf35b29a37dc73 GIT binary patch literal 1546 zcmcIk`#;kQ0R2jvyep3|RBkrpIgfdZusj-tmFAP&(7Rh5S;+Blo2zkw;yZ(mzxj&q9KA-c;IiK^xNq0vfCB>A)005A5I%j`TpdJFm z9Rdqj?p(%afry5m^Ns)jahYEb0v_ip008KvlfA8HbUyFN;7tfp_Du(*KO5^58X7YG z3M`UJ8Bu3nhPwO2iLTIw&dBr`*qnH0bB!OEY)5jEM%`Uhzt=EiSA6U&$@+)8jD~?E zk^9;t_j>RbuaH`+ssQ7*zZ>Viqj&Nd(ub;}X0*Fg5r%)Dv;8Jb4l1E~rW0|ZSx#wv zr|kWYs=-B%P?OVK?d+i^)yRkcM?2GhN+k#hEs)w1FYu~Voc`uwAyJdCY2jQV1*5^@ z^Ke@25IQBs$JQsgjuLZG(27o>ItQu|Nn*KhH!bZOj0*3pUL?qc3X{u)&y*YvywF@v znJ9J`YQ&ILdU`+@D!LjRR8lkj_%)Mb*5Q8k0rB``(*$FXdvKKLBVCSVkGT}(j%O`ggk@1u-KFWk zvgnfp)uvRUYXLL7%PhzcHYR-q8R?@Y2eHRgXjsR z{@mr774f(@sgchn^@P?|_Tk{10rqKLF}k|d?&o;qe4rr*g5<1h?Hng08PRM z>AlOh5C+h>^1QmxVn(AVumDlUg17Cp`hlS*ELuaOsD%85mobQ@<)q7TA`Nv7X`fha z06slJCM?wwZhR*TPo_#{jFwkst=Fq)`+r@4&m4HF9}n)>TQ&4fcqsh9ucn@VXH-F9 zcY$s9;>A@(84k2$;o=)QSrnjt3>j$gH|K4~vA3LD;g8<<^(d~!?#QFBzjekt1^)`m zDecK!>-SOZztie)YPRqE{A$?L0^9VerEm8FJ9@UgRcL_eI=|Z41p!cC=!am0jMXhG zO;`;K1SqILma#T_bPOJt{ZURvl^fB3YhLFOP=wL9;I+-71O;G9f+#HC?L&jRuoC^Y zI3rOj(}XYjBC`SNz@Yx%kAMO*&$f3UG_@inaES2q5GG@HGffx`m$Q8!c_Yq~PFX~f zZ+P0NDirN+k!#jr5>4==I-Tcvmu@N7k*k^dgyh?arOac4ebj4xpNcI<)i(0(L4=AJB1rLKKlYe`qRKRsKq s*B46q(|iCK4$Hx*8Md7G&!0DEv!A!{^hKi1uHf7OCkK>$jomfEzc>QSp#T5? literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面抬头/1.png.import b/asset/art/animation/c01_小小蝶_背面抬头/1.png.import new file mode 100644 index 00000000..c460ae29 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面抬头/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qidgsi8po28g" +path="res://.godot/imported/1.png-0b4a086c10435029061d56eb3934b80a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面抬头/1.png" +dest_files=["res://.godot/imported/1.png-0b4a086c10435029061d56eb3934b80a.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/animation/c01_小小蝶_背面抬头/2.png b/asset/art/animation/c01_小小蝶_背面抬头/2.png new file mode 100755 index 0000000000000000000000000000000000000000..5707c7f9d263c083c66ff6aff10b7bd24e21c75b GIT binary patch literal 1603 zcmcIl={MU66#Y?4sZ^_CsAY`3gFz@N_S%JtC1WX~5kf_yXb?-PI#t?+5*ll59gM9) zOlv*%MD5fPsePwZDMPiBIcNTZIrHJZd)|HTp7%bz_t?SS62yO*9{>Q5wUwD8o1NH* zKFh<7V5=vKY~sUNxrGA2xl8|m1IWq|1pw{?Ycmt)h@9=5L0bub(Vo^cPfZVeg9UuE z5UE~Qobj?$IH}9F4OIY+8WS%6PTa3nDi}gJmSWXPQm!l2NiPYl!7CVj%HEiknz{Q?2Zn0?~XRy z2!qOxe17}XMZ0~^ujpLFsV;eczgQ0PgZQ23>uBvj_RsjiZtc&WJWl59IMj7JH~%8z|AesWl-x+~z?zrvo~FMj2|jgqV@oof!j ztW6WM8S47msBOO>-zcX5ES47S*?g2SB6%^$xBRs|y)08pvvrOjneG*yUq(NaEv>o6 zZnOq1%{)**-C8bw{c8_F|xCSr{mtRROceEp!(^s;&FJO^zRQ9ctS(SCG+Vpz<9wO z@uP=FcJRWtGI{mk`Khh+Br7!aSU1>}4hs`)34vTq8BGqWc2GkU=n1I1c2ZNy{E*dF zWE;SJZGYQsjP!>dC2x}uNcci)H}xCr{IiIgoTSUx(b2Z?uN&(`4oIHYCxjZnyI$Cf zK)@}Z9N>zI8ZWLdzZ|N;7|ldfRSS9yS%SnVCg*k?9ZX|DfraDKkTt{Y_^uHv`Lg}P z)|SufAEgeB4T6=yaQGdBx%)%TXL~0#eQ4GFxaNVc$PL87nuyf5T@+51G$b9wEN5BH zRyWtIulTH$42m_C2}x+GJpbzx85HyN!qsbt0;03_<~NDnzZ}=eIkPMiym#x4VMv?l z%F++BqCgF;c1u{|44EYf7~{R;D&e_S@?wDAsMr!7Pi(PGbR zTe%OknnqE1{%T5E2)C@D>Bb7iL~yBj2O%*La=TvJL^On5#_jPFv)hUTHsp?{!*7N& z!*6l}0w7Xd{Xo>DoiTtrZPsW|A~^sx40)EqsL@>GO106^-og%mwN z1ya9k$D?(4Upn!%P4qkE2H*t_ng+QMbZ3?(rX8MOXK`?tcm@Fho1}rzC#A?MR4I~5 zk?3CA(J^#~R+*E*CW=JMZA=AcB tG%h1zYt+p!zOkZ7guWF2pD$#}cVI+Y$vIQBFOmHf0Bdu5vno?${NLml?_K}^ literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面抬头/2.png.import b/asset/art/animation/c01_小小蝶_背面抬头/2.png.import new file mode 100644 index 00000000..5b1a8a88 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面抬头/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2qo5n5kdbb1i" +path="res://.godot/imported/2.png-2aad7bf34a702d4af13ec99219ebf490.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面抬头/2.png" +dest_files=["res://.godot/imported/2.png-2aad7bf34a702d4af13ec99219ebf490.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/animation/c01_小小蝶_背面抬头/3.png b/asset/art/animation/c01_小小蝶_背面抬头/3.png new file mode 100755 index 0000000000000000000000000000000000000000..eaeed9120de62991249688bce4bc4c00b1d1f8ca GIT binary patch literal 1589 zcmcJQ{Xf$Q0LQKu+TNAr@9bAQ9V?uYm1{d#@=fX^q%)5BF!UPB%L07VoMf!*`DJxH?B zdwBqvGP@_a2&69&03fRW0sqgOX;hU?%kb}K1s+Y%-=gQ?!YT4|Z zD9sC_?=liQ`}%@2F5w2A(x1{BcOAw8P5D8+czOf%nVZaH5S3?)YagH=R+BHo1y8PJ zTh$x6qAw0pxA|E{HZgIbcCQ}3>A5dP+mgO=>yEri3lUmKY8cZl@SNdz6>T#)Wk%vX z3>=|%OgnpjChA_FF5>^KRTSIF9Ax)w^sd%m1Jp=4y{m!ck>{nJ`f1n0BI_?&_FJO; zfa+??fTL~%2p>tAI~g8x-=~yT?1|Dl1`UqsQ8h}pG=eZp?8DDF4|HPn-nMxvv2)@= z8CFgGdB1On#b9bj7;7nX>{UMt`cU8nRtU};^gBF_&Js!qMk|?2_0|a-$0*A%z^@G8 zYu}NU>$tU}hY`HP2wqMwOQLIAq}jIzO}AEUfuKL1hV_%mXEy>NWBd+9px^~jrY2oW zLe@SP7$PVEUp7QSz|*=<0=TvH@g~6g{8V_a`(%zsD8iTt05t+Pzs*A|V-p(Iga>1w zAH(H{yJ-XmtZTOc-~vJ}O%eS%u4lfC9PlED|ENtyP44=hy7hf(r)hLl_7}67bDJ88 zZ6WoUi|#qCjlM+E@?aP53k7>fEfim^NzWqYmB;t`m<-ds}PcqOK^=b!E@Pvf6Kqc!WD{4T%t72H)PIQv~CS4Bn0ehUMD!Dqa*s* z$a(#Ii-~1sWuNJnI9=@V1)|lmTZK<#Osq@-)rtEl5d>ij1(M1@4k5vVuZ0@ub{l}q z?JVU#I+2Ms1ETb!@v*VwP6B2+VgI;~I+W`vU_mc_6G;HP?nb%hqa~Pq0h#3NezWm! zob{%WI5j9few9yBY!H9--d-C@$FDbllL?~Woeymmu&*Hk_(n`~W71XCWrHfh*egjg zBKBEG;P57mE+A~W%KU6c8={!c5nc60ozOq=%1`lGP;Jh$^BntX=Kj>)s|aw~MCHTC z-qf_z*|}uJl(bZtfEracCdBJ3NWT{-l60B9ZkfcrUT^%{uPg`vv$mKTw64L$N`T3R zE7MW;*JPyt&gGU%;!@o7>D#-TbZMUZ<%8^kdHGyuqx5K5yu0015;N%Z0H~!(a;9)T zNmS0c8=pqJ<83w~R%rWZur!%cU8gL~!k?gAv&fkhO1UvcZr}+tYm=0^=UV~2OI0%d z3`YXw%KV6x(jwlFbHowe%EQhJ)HS*9FQ;BZ2E%uH*pvzkkMMS6*a*Kdd3O@3;rVI4 zD!3D>0ZVoG@Mo~gzwWjKK z0xOpf7h7reuvWHVLHb`7>Ry0nGQFHTcH{};h4}DTo6jm5k+t~ISrck6(OTdWv5*VN f#2EkgeTQ5wUwD8o1NH* zKFh<7V5=vKY~sUNxrGA2xl8|m1IWq|1pw{?Ycmt)h@9=5L0bub(Vo^cPfZVeg9UuE z5UE~Qobj?$IH}9F4OIY+8WS%6PTa3nDi}gJmSWXPQm!l2NiPYl!7CVj%HEiknz{Q?2Zn0?~XRy z2!qOxe17}XMZ0~^ujpLFsV;eczgQ0PgZQ23>uBvj_RsjiZtc&WJWl59IMj7JH~%8z|AesWl-x+~z?zrvo~FMj2|jgqV@oof!j ztW6WM8S47msBOO>-zcX5ES47S*?g2SB6%^$xBRs|y)08pvvrOjneG*yUq(NaEv>o6 zZnOq1%{)**-C8bw{c8_F|xCSr{mtRROceEp!(^s;&FJO^zRQ9ctS(SCG+Vpz<9wO z@uP=FcJRWtGI{mk`Khh+Br7!aSU1>}4hs`)34vTq8BGqWc2GkU=n1I1c2ZNy{E*dF zWE;SJZGYQsjP!>dC2x}uNcci)H}xCr{IiIgoTSUx(b2Z?uN&(`4oIHYCxjZnyI$Cf zK)@}Z9N>zI8ZWLdzZ|N;7|ldfRSS9yS%SnVCg*k?9ZX|DfraDKkTt{Y_^uHv`Lg}P z)|SufAEgeB4T6=yaQGdBx%)%TXL~0#eQ4GFxaNVc$PL87nuyf5T@+51G$b9wEN5BH zRyWtIulTH$42m_C2}x+GJpbzx85HyN!qsbt0;03_<~NDnzZ}=eIkPMiym#x4VMv?l z%F++BqCgF;c1u{|44EYf7~{R;D&e_S@?wDAsMr!7Pi(PGbR zTe%OknnqE1{%T5E2)C@D>Bb7iL~yBj2O%*La=TvJL^On5#_jPFv)hUTHsp?{!*7N& z!*6l}0w7Xd{Xo>DoiTtrZPsW|A~^sx40)EqsL@>GO106^-og%mwN z1ya9k$D?(4Upn!%P4qkE2H*t_ng+QMbZ3?(rX8MOXK`?tcm@Fho1}rzC#A?MR4I~5 zk?3CA(J^#~R+*E*CW=JMZA=AcB tG%h1zYt+p!zOkZ7guWF2pD$#}cVI+Y$vIQBFOmHf0Bdu5vno?${NLml?_K}^ literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面抬头/4.png.import b/asset/art/animation/c01_小小蝶_背面抬头/4.png.import new file mode 100644 index 00000000..78d4d114 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面抬头/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kl8hklflrruw" +path="res://.godot/imported/4.png-3bd8f54a6c7aaefdca297285dcc02706.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面抬头/4.png" +dest_files=["res://.godot/imported/4.png-3bd8f54a6c7aaefdca297285dcc02706.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/animation/c01_小小蝶_背面蹲下/1.png b/asset/art/animation/c01_小小蝶_背面蹲下/1.png new file mode 100755 index 0000000000000000000000000000000000000000..58c726e2067e060f817b3a6421775ff7d3597635 GIT binary patch literal 1548 zcmcIk`7_%I9Q_hU1+j{8#o5x9bwwSuMICiUD3#XHZK#H-gi=@OMv0&mv}6eqRkyn0 zDq7d7R@;apRNPwYYMhgz&fWBH*x4W6do!PTGw;oOW?qU5!d4V42L=E@)ZWh8m8))C z#GVk~vXouwJXeH5>^#B%Kv?1@c!1n|835q#u(!6j8kN76H*icf4pV7y%^%bidtghpyhLEt8}yPE)r+; zM2YOThJW6=v)~>?Gp$0KzMdeFHjxK^cZi*+j+p(mC&@@Z82QX+(vVLM(L4Pp6W@2* z+V7+)Oh}xJPlj7stE;GH{_@m5`F}jy!PX&-R_YYUkvzryr7UIDQB#D0+r6uHCF#ka zgdTm8q-YRyyQ5keVmbbC)rMOs=yvHa*>1ilu9}X;SJRCQG>3njMQJw3`)G0$z*{Wg z$Yz-Qd7-w5yY+K=e`Cw%ocq15+bQszyWGub;IGNMZhU7v*yBg4y9Dm=TF4u$-UlJq-pUkhtgbj7PPatm2GsfAff)+ zw0~)oO1xq-fdr?}L%J^*qY+g~=hMF#Tl3QW1VqC+tGG_yB?NnckXLcUbo+rigyT&` zxppAp;j5`EBK6BuODQ9I5!vv9FPN9)|YXYNlBt{Hr5r&5FE znad^vbL)X|Hj8Abk+F1`?obgXf)0l5y@`RIS@o;LyinEm4ter@e_sHt!!T;1eI(vd zUR0$L;Z3}3Rd*!sW{~_5r!tT1d2qZ^ktV$nEm|cyBYcbF_OY!M0l4-ZIz|aOXe*>iw%~7(%_^kEof@ia7HM-ngL0Fr zfW!XT8w)d=9NU1FzsI2Y!^3GR!y4JNYZDgLp5ckdwQTwTnqid2nBUqp=M%hRnNU7j zRdmp@%Z64FqGhlv%=le*f%hl!=!f4%a$^oP z&d$6M26BvzzC?UHr$p7-CJ)G^Q8F1x`J38Rdb zy?oa-XB(__KZZ@xyN6YMtlh-#NCq-i`VA?LrA+ET60zXz>9A-hGGC?hRj`i%p^8t2 zWWx=+?%^3^Qb1pL3NOpE=1rUO)82STOe4(QDEYE?oi<)u9hG&s4$<(~kMNJ<%@B{8AhZ?e$eZE&WvGLMTd;!|gh7s}U*en!v&l`jP5$ zlFNb1NQd9B-B@?0@@P&SGQr)z$GtxSZwqFdG}L-p3IUBb(mOz4ujH@sCGaK%XjH8r zXlIDIy>b;PJ&~wmo(G`gC&)o;?FC(mLEK%|Q0@WqU{{R30 literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/1.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/1.png.import new file mode 100644 index 00000000..1c23b8c4 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd01nj0cxeq4s" +path="res://.godot/imported/1.png-8e34a94be437da74237eefe25303b3b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/1.png" +dest_files=["res://.godot/imported/1.png-8e34a94be437da74237eefe25303b3b9.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/animation/c01_小小蝶_背面蹲下/10.png b/asset/art/animation/c01_小小蝶_背面蹲下/10.png new file mode 100755 index 0000000000000000000000000000000000000000..58c726e2067e060f817b3a6421775ff7d3597635 GIT binary patch literal 1548 zcmcIk`7_%I9Q_hU1+j{8#o5x9bwwSuMICiUD3#XHZK#H-gi=@OMv0&mv}6eqRkyn0 zDq7d7R@;apRNPwYYMhgz&fWBH*x4W6do!PTGw;oOW?qU5!d4V42L=E@)ZWh8m8))C z#GVk~vXouwJXeH5>^#B%Kv?1@c!1n|835q#u(!6j8kN76H*icf4pV7y%^%bidtghpyhLEt8}yPE)r+; zM2YOThJW6=v)~>?Gp$0KzMdeFHjxK^cZi*+j+p(mC&@@Z82QX+(vVLM(L4Pp6W@2* z+V7+)Oh}xJPlj7stE;GH{_@m5`F}jy!PX&-R_YYUkvzryr7UIDQB#D0+r6uHCF#ka zgdTm8q-YRyyQ5keVmbbC)rMOs=yvHa*>1ilu9}X;SJRCQG>3njMQJw3`)G0$z*{Wg z$Yz-Qd7-w5yY+K=e`Cw%ocq15+bQszyWGub;IGNMZhU7v*yBg4y9Dm=TF4u$-UlJq-pUkhtgbj7PPatm2GsfAff)+ zw0~)oO1xq-fdr?}L%J^*qY+g~=hMF#Tl3QW1VqC+tGG_yB?NnckXLcUbo+rigyT&` zxppAp;j5`EBK6BuODQ9I5!vv9FPN9)|YXYNlBt{Hr5r&5FE znad^vbL)X|Hj8Abk+F1`?obgXf)0l5y@`RIS@o;LyinEm4ter@e_sHt!!T;1eI(vd zUR0$L;Z3}3Rd*!sW{~_5r!tT1d2qZ^ktV$nEm|cyBYcbF_OY!M0l4-ZIz|aOXe*>iw%~7(%_^kEof@ia7HM-ngL0Fr zfW!XT8w)d=9NU1FzsI2Y!^3GR!y4JNYZDgLp5ckdwQTwTnqid2nBUqp=M%hRnNU7j zRdmp@%Z64FqGhlv%=le*f%hl!=!f4%a$^oP z&d$6M26BvzzC?UHr$p7-CJ)G^Q8F1x`J38Rdb zy?oa-XB(__KZZ@xyN6YMtlh-#NCq-i`VA?LrA+ET60zXz>9A-hGGC?hRj`i%p^8t2 zWWx=+?%^3^Qb1pL3NOpE=1rUO)82STOe4(QDEYE?oi<)u9hG&s4$<(~kMNJ<%@B{8AhZ?e$eZE&WvGLMTd;!|gh7s}U*en!v&l`jP5$ zlFNb1NQd9B-B@?0@@P&SGQr)z$GtxSZwqFdG}L-p3IUBb(mOz4ujH@sCGaK%XjH8r zXlIDIy>b;PJ&~wmo(G`gC&)o;?FC(mLEK%|Q0@WqU{{R30 literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/10.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/10.png.import new file mode 100644 index 00000000..b0ab492a --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/10.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw8icdmlelyaa" +path="res://.godot/imported/10.png-5428ada018a00020a073bb4b5442e474.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/10.png" +dest_files=["res://.godot/imported/10.png-5428ada018a00020a073bb4b5442e474.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/animation/c01_小小蝶_背面蹲下/2.png b/asset/art/animation/c01_小小蝶_背面蹲下/2.png new file mode 100755 index 0000000000000000000000000000000000000000..87f74313e3f1043abde6c5edd8e029c463474dd6 GIT binary patch literal 1575 zcmcgs={M910R0UyV;PEwB*lct(vW>J*+;TOgEM3slX{lkLC-SwWuhd@V9bz|d0B>G zLiQ=yg%V?I*;1Byk}Y9+`WxOk@58kgmO9s+R!}Q~lFUL{ z^cG>W6Jf_KEYwT%h0!iTh;6X;0r(B~A$+WQ>MTdSDP#z$qr56Mc99^PLrhD~xpbAB zsF$W@nM(5m?-9>oY^T0=M^F%QnmG&3bF=Lm%@H@*qi(Duq^a{HhypWHJS(4dGy`?N z8)k+TlZOi&BPHIqG5J4itG^~eFHJsZ=5sNlH377O>QjWyU5}P7)MmT+*A(RqbcrPt zLt0b0pI~1HH$0Ysf?!Ap3;2h12PPV)^aj27G{D^8vfxlvXygv+ zHyg~AzV8@pgItjKqV5sLs7_&%gw*r0^_csm@88VHo&YE)dixCYm8sh+&`49g~de|3ELN@YTw!kWu z2a;X)gh&w0FIr)z zksH+AiPU#CcI@H_E_b!>n$levlozSZc;o`wbq(Ky1m{+T?e)x7C^^aXbV^79(If$2 zx{Ut?uFy4>;n0Uf%wksa_+WcKn>l)3N{(vc5{F^db3++&Uel|gyN`%fw!9a0*Zr|& zhIEhTz1BdSug^jAvM+UQpSx6Ar@Q8lJ*?DFc!m*sFc~;sd-QJVH;0k zc)J`)+}`AfNu1=&3(<0U8vgWNgZo%VvC?MD)U9ZP$kxWt)9Gz{m+_D7{G{pvMk?ps ztD@*C8@Mpq;6;29T+d<*yO`^~GQI8dalvKRC^IUGxHId2M)e>wcmmTcEW%eg95~iZ z*^+ z*UA_w;IPKuHl!$<+!4rugU+zYJb+)Lh*P}rsR80dN5kN{-M%1m` zolemL%{;SHRE;BwIQZ2(w-JScx1ao4Z{l~tw&LG&B~z~9RGjV+g=!5$4Tjf<2*A(X zU5{wZYiSuf4}6B(8~8_7Y|#s}Ku3;*%J63b6~!qZm$Zlpw(Py;{u!kt|2}+(|0G98 zILM=?CY8$1yv9#Iu(Y#%E8wROv|U6@(fe~{=)Zkt@`>L@6v@YPYUQ3f9_c-I?2 zZ{5zti+lfyQpAvupK;Hu>mN@f-3aKX6))9Z^_@t*q3tE{4xMNzxY86(%`+7N%EUln zCLnE&@qB!V%}9tS#oCieL)@FtS3b)kzwQeBhT0prQd;BC&o>aHd%>6c{T&OyXD<8Q zb2~<`iruA1cMfc?yfXE(?&|UH{Dj-@L)EDk*)F`rDuVy}1@412fgfoQnD+SL^8+Yz LTeC_N&-i}<4^7|N literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/2.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/2.png.import new file mode 100644 index 00000000..0d7ced59 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvdbsejs4l2vk" +path="res://.godot/imported/2.png-f9a3c55cc135f2ff17bebc9a920cfe89.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/2.png" +dest_files=["res://.godot/imported/2.png-f9a3c55cc135f2ff17bebc9a920cfe89.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/animation/c01_小小蝶_背面蹲下/3.png b/asset/art/animation/c01_小小蝶_背面蹲下/3.png new file mode 100755 index 0000000000000000000000000000000000000000..9c5de5b709c032e84f21cf40c88873483441fb20 GIT binary patch literal 1425 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 literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/5.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/5.png.import new file mode 100644 index 00000000..b5ae5e04 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://x0r6f4ji6haj" +path="res://.godot/imported/5.png-7445a9543c9bc45739455f267c1134c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/5.png" +dest_files=["res://.godot/imported/5.png-7445a9543c9bc45739455f267c1134c8.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/animation/c01_小小蝶_背面蹲下/6.png b/asset/art/animation/c01_小小蝶_背面蹲下/6.png new file mode 100755 index 0000000000000000000000000000000000000000..e4897b3ce7619dc8f29cbdf149ebaeb8493ba47b GIT binary patch literal 1385 zcmeAS@N?(olHy`uVBq!ia0vp^!9ZNY!3HEnJ$fDkDb50q$YKTtZeb8+WSBKaf`Nfm z+SA1`q+-t7IllhV;UaDGKR$2B?dZJ1(y1kwxymdcF!b)lMP5@Q%!0%tn>Km;bNKJO zJ9E={rQ3RuVP~7#mUMWDhGzcY=w#lOc$DdDAjKH`jEJo%L;<&)d`Y z^KIY2Co$LOcxhxr)VE{nW0U{gKKkL;k1x7vX?Cm$kGjv>HXLQ=U#z)_F}Z(oH@{q) zZgOw0^O>Yq=VZ6V?K`r{{lO{s?NQI&cI8Q3fA+PdR441{M`f{T)6VNn@t$zf%x`1e z&zHv?r(PF*e9J~4usYnveA}lVfyb|#p838gt8($JKZ`=*Tq*gN( zqhaW!=C~;8(v2&}zHWRFwfcxg^t~0l9D36>etN?B`F^duUA|A@j-N3bOnA61PvUg= zQ=u|Fal1Y*6^R*VDlTP3slRP}0oJb%5e|4BsVox-Aj zuk&p_9PN3kUK4osxU0_T<`5}A|Bror3xXad4PWev!rXhemMz~Z zwXuj($kSu_!BU0E2aB~6t>z{PUjMj%TZfU1+sQqa#?K31Ij;56o64df*8jWts_=jP z$w#d%Ui?v07hNS-8<2Bl7N>)bSQih6*^F%=eH$;Q&+PD0nV})95#}dx+Mi*chxPQ= zdRGK`rbL#;a;^V<=y{{Z@`yK8@;mqLw*GKySK<<%hQrCrJy*;LQ|9UP@_+W7OZWQH`_mW-`cB#Ix0^kG1B03QKM9A@yM}&h zKb%%CUBsTQGlqDlVUZ(h0Uo9CZc zDSbKT@89beUhx_PJ^Q@e|L2=`v3co1&%3mHo~`{8xG?sj*n#;^PaSyux+O689(UlH z*1bh9Q_7T1xv)vxd^UaRceR;n3n(sLp4iuZ+7foWRQD>d>}2qC^>bP0l+XkKK~{;N literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/6.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/6.png.import new file mode 100644 index 00000000..ba1a55b0 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coomdeo2c4fyg" +path="res://.godot/imported/6.png-ad67fbe9c31da2fd77ad561a89b389a1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/6.png" +dest_files=["res://.godot/imported/6.png-ad67fbe9c31da2fd77ad561a89b389a1.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/animation/c01_小小蝶_背面蹲下/7.png b/asset/art/animation/c01_小小蝶_背面蹲下/7.png new file mode 100755 index 0000000000000000000000000000000000000000..ab5704b9459d0301b13a61aa244311c23f26e51f GIT binary patch literal 1384 zcmeAS@N?(olHy`uVBq!ia0vp^!9ZNY!3HEnJ$fDkDb50q$YKTtZeb8+WSBKaf`Nfm z%G1R$q+-t7IllhV;UaDGKVFwOa#NO=iHd8;suf<+`-IqYCQBw4@0Lj0(92s^`evug^NACVeLv^n&i{UA z`8u7OhQ}71n9#Ai;XCJ4&5lzdE~#9Lj93F_Hm&e+3|Xe26)Z4lgeQdDVJ&gGR(kuN z&Wz{3{p_x9!@c!a4b$7xTS0j=Zk=dY7&4Gn+NJpY?(ylNutT z?|n;&(^xZgX5r>od*Sc9GS{BT`)U7a>Bg|Mqu(FtEzDjs^`@@biS1#_eDxpCO7=|3KwUYNF!&p_b2AKy25b;cR<<{4^hpT79xOUdFh z@$>&)x_{_aLaCAM{q(%Vi#>6BPrWh!eDTMNv(Y`iwM++YJfAPw@RObYvF0Ye?EcB0 z`Q_YnANTY)9ZLLkPSz}L-x15c155eyP47#;-jx|UTV8!lZlHI+yy5l@6-EJij(IEo zi9LTVU;iSsGCe7FcDqtme)sZc)8y>4e#hMXtF~_1_El%kdq1t55`O(e?VpJ;jZ6gmd%#I`P_d{)Jn9&e?48 zh3obtPKQsI3QFGQ?rSRQyk)P>>9g$hy|brPHyu8Fu{1{M;GqfgeeE=Ico8)+V(V8W#R(FVita|l_2x|Gd?2H8nQf0o?&InD z?w6GM?AyOz3D(~>KjQnm%4Dq{&o*w^o4Kjkl3`DC(ed;APmjwqeBFA#I^gcj2z6nm zg;#?v9_Tz#qULO64fNEKEB{VNZ2kW3T-f>7ImcGr{d3d*KJ$iuNs|yVQ}&9u~R92ar-$Bus>bf_NeT>Y>>nm>+QZPpIWeV z&e>Bpxp)7+H_>|)!%o%w`=UAj-rm!1W1fW+wjSIw*#i(_6^*1p}a>a4Y5 z-_{MmdUMW{9hrGTK>PNeMW5~gy+?VW@`qixe49i>ua^R_=w$G8^>bP0l+XkK*o=p2 literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/7.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/7.png.import new file mode 100644 index 00000000..711d06ab --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s6xrmay5c75i" +path="res://.godot/imported/7.png-f0e531bf40e0c53cb05162e3ef64b3fb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/7.png" +dest_files=["res://.godot/imported/7.png-f0e531bf40e0c53cb05162e3ef64b3fb.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/animation/c01_小小蝶_背面蹲下/8.png b/asset/art/animation/c01_小小蝶_背面蹲下/8.png new file mode 100755 index 0000000000000000000000000000000000000000..9c5de5b709c032e84f21cf40c88873483441fb20 GIT binary patch literal 1425 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 LTeC_N&-i}<4^7|N literal 0 HcmV?d00001 diff --git a/asset/art/animation/c01_小小蝶_背面蹲下/9.png.import b/asset/art/animation/c01_小小蝶_背面蹲下/9.png.import new file mode 100644 index 00000000..97727f15 --- /dev/null +++ b/asset/art/animation/c01_小小蝶_背面蹲下/9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3fkbh3l5scm7" +path="res://.godot/imported/9.png-af0fdb81c713853115b03f2896a4ce06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/animation/c01_小小蝶_背面蹲下/9.png" +dest_files=["res://.godot/imported/9.png-af0fdb81c713853115b03f2896a4ce06.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/fog_mask.png b/asset/art/fog_mask.png index 62a0bea5c85f06618f6ffc88d1636c731c78269e..06a320ac8005973b49738ec1d1d902ce418a6654 100644 GIT binary patch literal 2529 zcmeAS@N?(olHy`uVBq!ia0y~yVBN>Sz^KE)1{C4>wNx2MF%}28J29*~C-ahlfpfN} zi(^Q|oVPa=`3@+EusXi@``(9lTj|o1X=;ic`t$DZye4(K=BNMtH@CKCUtf3k@@@tO z*X;ctKhzg)2J&Nfm(}0j3o@I5p@ri`nhr+O!Dv1h dEeA*}2kvyIu%t*lw7m+-J)W+9F6*2UngEh10$2b5 literal 3038 zcmeAS@N?(olHy`uVBq!ia0y~yV9#M-VASDY1B&n$IZp#pjKx9jP7LeL$-HD>;GW^> z;uumf=j}~HJ|;r}7RSE-|8FkgaJ-|uPHW>6U$ytI=X|axuHAG0-?Th#={KA6zi!)b z(C&9wK9IBfyd49>5BKNCcNaw8NSI%{dV4GHx0~CmfSmij-)-fAR)K&DOEiSh(2>9m zVF?K4FhW>LO}Y?p=fS?83{ F1OUv)X#4;G diff --git a/asset/art/tool/fog_mask_generator.tscn b/asset/art/tool/fog_mask_generator.tscn index 42e5539f..71917c9e 100644 --- a/asset/art/tool/fog_mask_generator.tscn +++ b/asset/art/tool/fog_mask_generator.tscn @@ -7,6 +7,6 @@ position = Vector2(294, 145) scale = Vector2(0.2, 0.2) script = ExtResource("1_48e0h") export_path = "res://asset/art/fog_mask.png" -l_ease_in_x = 600.0 -mid = 700.0 -r_ease_out_x = 600.0 +l_ease_in_x = 450.0 +mid = 570.0 +r_ease_out_x = 450.0 diff --git a/asset/dialogue/c01.dialogue b/asset/dialogue/c01.dialogue index 6a30601c..200bb8d0 100644 --- a/asset/dialogue/c01.dialogue +++ b/asset/dialogue/c01.dialogue @@ -19,18 +19,21 @@ #“在这儿吗......” [ID:c01_在这儿吗] #=> END -#~ c01_s05_院长房间_开场 -#吕萍: (念诵夜行船——)[#wait=4] [ID:c01_s05_夜行船1] -#吕萍: (疑惑——)[ID:c01_s05_夜行船2] -#=> END +~ c01_s05_院长房间_开场 +???: ...后面看不清了。 +=> END ~ c01_s06_走廊前对话 老师: 昨天认的字,现在全忘了? [ID:c01_s06_走廊前对话1] 老师: (唉呀)黄鱼脑子! [ID:c01_s06_走廊前对话2] => END -~ c01_s06_对话1 -# 猫鼠游戏前,与跟班1的对话 +~ c01_s06_四个小孩画鬼差的对话 +胖小孩: 画完了没有?你小子咋比秤砣还沉! +残疾小孩: 快了、快了。 +跟班甲: 这是个啥?黑乎乎的,旁边还有两朵花。 +残疾小孩: 非也,非也。谁规定神仙不能长成这样的? +胖小孩: 呸,神仙要是真长得这么丑,老子以后都倒立撒尿! 跟班乙: 嘶,总觉得好像在哪见过…… 跟班甲: 这画是六指儿画的,你问他去! 残疾小孩: 我知道什么?知道也不能告诉你! @@ -39,20 +42,6 @@ 跟班乙: 搞得大家都不去墙根底下玩儿了,真晦气。 => END -#~ c01_s06_对话2 -## 猫鼠游戏前,与跟班2(同乡)的对话 -#小孩乙: (台词设计)老乡啊... [ID:c01_s06_对话2_1] -#=> END - -~ c01_s06_对话3 -# 猫鼠游戏前,与胖子的对话 -胖小孩: 画完了没有?你小子咋比秤砣还沉! [ID:c01_s06_对话3_1] -残疾小孩: 快了、快了。 [ID:c01_s06_对话3_2] -跟班甲: 这是个啥?黑乎乎的,旁边还有两朵花。 -残疾小孩: 非也,非也。谁规定神仙不能长成这样的? -胖小孩: 呸,神仙要是真长得这么丑,老子以后都倒立撒尿! -=> END - ~ c01_s06_谈论鬼差与猫鼠游戏 胖小孩: 站住! [ID:c01_s06_谈论鬼差1] 胖小孩: 我们可没让你走! [ID:c01_s06_谈论鬼差2] diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index a0a26f45..3cbba3c1 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -57,7 +57,7 @@ prop_银元_说明,一枚“袁大头”银元,中華民國十年造。,,, 重要物品示例,重要物品示例,,, 4,4,,, c01_s05_检查院长房间,好像忘记了什么事情,再回去检查一遍吧。,,, -c01_s07_需要报纸,我想先在周围看看,,, +c01_s07_需要报纸,书店还没开门。,,, c01_s08_书店工作,老板交代的工作还没做完,不能偷懒。,,, c01_s08_书店工钱,这个月的工钱还没拿。,,, notes_纸条,纸条,,, @@ -81,6 +81,8 @@ c01_倾斜的洋相片,"哇啊,这张洋相片要掉下来了! c01_摆正的洋相片,这是院长的儿子吗?,,, c01_s06_院长房间,这是院长的房间,,, c01_s06_小朋友房间,这是其他小朋友的房间,,, +c01_s06_熟悉的墙画,"墙上的画看起来好熟悉。 +过去问问看吧,没准他们几个知道些什么。",,, c01_s07_钱碗,碗里只有一枚铜钱。,,, c01_s07_获得报纸,这是什么?,,, c01_s07_书店展柜,"院长说,读一百本书,就可以成为无所不能的大人。 diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index 55e74316..567c97da 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -93,7 +93,7 @@ ~ HoldingReason 好像忘记了什么事情,再回去检查一遍吧。 [ID:c01_s05_检查院长房间] -我想先在周围看看 [ID:c01_s07_需要报纸] +书店还没开门。 [ID:c01_s07_需要报纸] 老板交代的工作还没做完,不能偷懒。 [ID:c01_s08_书店工作] 这个月的工钱还没拿。 [ID:c01_s08_书店工钱] => END @@ -119,6 +119,8 @@ # c01-s06 院子 这是院长的房间 [ID:c01_s06_院长房间] 这是其他小朋友的房间 [ID:c01_s06_小朋友房间] +# 院子里四个小孩交谈结束后 +墙上的画看起来好熟悉。\n过去问问看吧,没准他们几个知道些什么。 [ID:c01_s06_熟悉的墙画] # c01-s07 书店外 碗里只有一枚铜钱。 [ID:c01_s07_钱碗] 这是什么? [ID:c01_s07_获得报纸] diff --git a/config/animation/entity_sprite_frames.tres b/config/animation/entity_sprite_frames.tres index 0bdc0a40..b95e9a46 100644 --- a/config/animation/entity_sprite_frames.tres +++ b/config/animation/entity_sprite_frames.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpriteFrames" load_steps=643 format=3 uid="uid://b7fhheih1hbvf"] +[gd_resource type="SpriteFrames" load_steps=657 format=3 uid="uid://b7fhheih1hbvf"] [ext_resource type="Texture2D" uid="uid://bpqrd6vo3j17m" path="res://asset/art/animation/c00_吕萍_记笔记_right/吕萍-拿本子记录1.png" id="1_6sdvl"] [ext_resource type="Texture2D" uid="uid://dvq64espa37lx" path="res://asset/art/animation/c00_吕萍_idle_left/zhhx1.png" id="1_ekv0l"] @@ -582,19 +582,33 @@ [ext_resource type="Texture2D" uid="uid://ckjmxl5s6ahnf" path="res://asset/art/animation/c02_父亲_walking/04.png" id="306_nwm8y"] [ext_resource type="Texture2D" uid="uid://fsr50578o8o5" path="res://asset/art/animation/c02_父亲_walking/05.png" id="307_w72k7"] [ext_resource type="Texture2D" uid="uid://bxm6d7a7fonwg" path="res://asset/art/animation/c02_父亲_walking/06.png" id="308_wvflb"] +[ext_resource type="Texture2D" uid="uid://qidgsi8po28g" path="res://asset/art/animation/c01_小小蝶_背面抬头/1.png" id="309_iimum"] [ext_resource type="Texture2D" uid="uid://bm3wfydsh5sy" path="res://asset/art/animation/c02_父亲_walking/07.png" id="309_tddmd"] [ext_resource type="Texture2D" uid="uid://dh71vjomp5ph7" path="res://asset/art/animation/c02_父亲_walking/08.png" id="310_5fimm"] +[ext_resource type="Texture2D" uid="uid://c2qo5n5kdbb1i" path="res://asset/art/animation/c01_小小蝶_背面抬头/2.png" id="310_u2jno"] +[ext_resource type="Texture2D" uid="uid://b17hualhwripu" path="res://asset/art/animation/c01_小小蝶_背面抬头/3.png" id="311_13qfd"] [ext_resource type="Texture2D" uid="uid://xu7bvnpxu4f5" path="res://asset/art/animation/c02_父亲_walking/09.png" id="311_p2jtk"] +[ext_resource type="Texture2D" uid="uid://kl8hklflrruw" path="res://asset/art/animation/c01_小小蝶_背面抬头/4.png" id="312_a0f2d"] [ext_resource type="Texture2D" uid="uid://c4qcsycjrubxr" path="res://asset/art/animation/c02_父亲_walking/10.png" id="312_g3qi2"] [ext_resource type="Texture2D" uid="uid://cjwvnc6v1esls" path="res://asset/art/animation/c02_父亲_walking/11.png" id="313_3u68t"] +[ext_resource type="Texture2D" uid="uid://dd01nj0cxeq4s" path="res://asset/art/animation/c01_小小蝶_背面蹲下/1.png" id="313_ypwpj"] +[ext_resource type="Texture2D" uid="uid://dvdbsejs4l2vk" path="res://asset/art/animation/c01_小小蝶_背面蹲下/2.png" id="314_3qf2e"] [ext_resource type="Texture2D" uid="uid://c0u51u2xfr65v" path="res://asset/art/animation/c02_父亲_walking/12.png" id="314_tn4yb"] [ext_resource type="Texture2D" uid="uid://bnn5fhy2b0eij" path="res://asset/art/animation/c02_父亲_walking/13.png" id="315_co38u"] +[ext_resource type="Texture2D" uid="uid://c8g2wj6ydbs1m" path="res://asset/art/animation/c01_小小蝶_背面蹲下/3.png" id="315_ktwt1"] +[ext_resource type="Texture2D" uid="uid://nksmho8vpfpm" path="res://asset/art/animation/c01_小小蝶_背面蹲下/4.png" id="316_2v3u4"] [ext_resource type="Texture2D" uid="uid://ocsxgjimkgru" path="res://asset/art/animation/c02_父亲_walking/14.png" id="316_qt3wx"] +[ext_resource type="Texture2D" uid="uid://x0r6f4ji6haj" path="res://asset/art/animation/c01_小小蝶_背面蹲下/5.png" id="317_dlydb"] [ext_resource type="Texture2D" uid="uid://dtqalpxr53rf3" path="res://asset/art/animation/c02_父亲_walking/15.png" id="317_lqbts"] [ext_resource type="Texture2D" uid="uid://d0pmkf2lnvwoi" path="res://asset/art/animation/c02_父亲_walking/16.png" id="318_vvse2"] +[ext_resource type="Texture2D" uid="uid://coomdeo2c4fyg" path="res://asset/art/animation/c01_小小蝶_背面蹲下/6.png" id="318_xewty"] [ext_resource type="Texture2D" uid="uid://6w86kjr1lqs8" path="res://asset/art/animation/c02_父亲_walking/17.png" id="319_aforw"] +[ext_resource type="Texture2D" uid="uid://s6xrmay5c75i" path="res://asset/art/animation/c01_小小蝶_背面蹲下/7.png" id="319_yjsfv"] +[ext_resource type="Texture2D" uid="uid://bob8nhp48r53x" path="res://asset/art/animation/c01_小小蝶_背面蹲下/8.png" id="320_253oi"] [ext_resource type="Texture2D" uid="uid://dh8mu7and5r21" path="res://asset/art/animation/c02_父亲_walking/18.png" id="320_lu3p0"] [ext_resource type="Texture2D" uid="uid://cp6jsnas2a3n1" path="res://asset/art/animation/c02_父亲_桌前说话/2.png" id="321_eqfeu"] +[ext_resource type="Texture2D" uid="uid://b3fkbh3l5scm7" path="res://asset/art/animation/c01_小小蝶_背面蹲下/9.png" id="321_mlkjm"] +[ext_resource type="Texture2D" uid="uid://bw8icdmlelyaa" path="res://asset/art/animation/c01_小小蝶_背面蹲下/10.png" id="322_nsui4"] [ext_resource type="Texture2D" uid="uid://d1f3p5hd4ip0h" path="res://asset/art/animation/c02_父亲_桌前说话/3.png" id="322_o1dfe"] [ext_resource type="Texture2D" uid="uid://bcdx7wpeth3kr" path="res://asset/art/animation/c02_父亲_桌前说话/4.png" id="323_jffdy"] [ext_resource type="Texture2D" uid="uid://vs3thiqsv4i0" path="res://asset/art/animation/c02_父亲_桌前说话/6.png" id="324_u6al6"] @@ -1721,6 +1735,58 @@ animations = [{ }, { "frames": [{ "duration": 1.0, +"texture": ExtResource("309_iimum") +}, { +"duration": 1.0, +"texture": ExtResource("310_u2jno") +}, { +"duration": 1.0, +"texture": ExtResource("311_13qfd") +}, { +"duration": 1.0, +"texture": ExtResource("312_a0f2d") +}], +"loop": true, +"name": &"c01_小小蝶_背面抬头", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("313_ypwpj") +}, { +"duration": 1.0, +"texture": ExtResource("314_3qf2e") +}, { +"duration": 1.0, +"texture": ExtResource("315_ktwt1") +}, { +"duration": 1.0, +"texture": ExtResource("316_2v3u4") +}, { +"duration": 1.0, +"texture": ExtResource("317_dlydb") +}, { +"duration": 1.0, +"texture": ExtResource("318_xewty") +}, { +"duration": 1.0, +"texture": ExtResource("319_yjsfv") +}, { +"duration": 1.0, +"texture": ExtResource("320_253oi") +}, { +"duration": 1.0, +"texture": ExtResource("321_mlkjm") +}, { +"duration": 1.0, +"texture": ExtResource("322_nsui4") +}], +"loop": true, +"name": &"c01_小小蝶_背面蹲下", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, "texture": ExtResource("55_vb76q") }, { "duration": 1.0, diff --git a/manager/config_manager/global_config.gd b/manager/config_manager/global_config.gd index 1e4e77aa..687564b8 100644 --- a/manager/config_manager/global_config.gd +++ b/manager/config_manager/global_config.gd @@ -8,11 +8,11 @@ const RES_FILE_FORMAT = ".tres" ## layers const CANVAS_LAYER_SETTINGS = 30 -const CANVAS_LAYER_DIALOG = 23 +const CANVAS_LAYER_BAG = 25 const CANVAS_LAYER_UI = 22 const CANVAS_LAYER_PROP_INSPECTOR = 21 -const CANVAS_LAYER_BAG = 12 -const CANVAS_LAYER_GROUND_MASK = 11 +const CANVAS_LAYER_GROUND_MASK = 14 +const CANVAS_LAYER_DIALOG = 12 const CANVAS_LAYER_SHADING = 10 const CANVAS_LAYER_LITTLE_GAME = 5 const CANVAS_LAYER_FG = 2 diff --git a/scene/dialog/balloon.gd b/scene/dialog/balloon.gd index b00c2529..c2ccdd59 100755 --- a/scene/dialog/balloon.gd +++ b/scene/dialog/balloon.gd @@ -64,6 +64,7 @@ var mutation_cooldown: Timer = Timer.new() func _ready() -> void: + layer = GlobalConfig.CANVAS_LAYER_DIALOG balloon.hide() Engine.get_singleton("DialogueManager").mutated.connect(_on_mutated) diff --git a/scene/dialog/balloon.tscn b/scene/dialog/balloon.tscn index 06a8c5c0..ec34207f 100644 --- a/scene/dialog/balloon.tscn +++ b/scene/dialog/balloon.tscn @@ -57,7 +57,7 @@ MarginContainer/constants/margin_top = 15 Panel/styles/panel = SubResource("StyleBoxEmpty_jydvi") [node name="Balloon" type="CanvasLayer"] -layer = 23 +layer = 12 script = ExtResource("1_36de5") metadata/_edit_vertical_guides_ = [-78.0] metadata/_edit_horizontal_guides_ = [276.0] @@ -133,7 +133,8 @@ 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 +seconds_per_step = 0.005 +seconds_per_pause_step = 0.1 [node name="Responses" type="MarginContainer" parent="Balloon"] layout_mode = 1 diff --git a/scene/dialog/balloon_debug.tscn b/scene/dialog/balloon_debug.tscn index 508d9919..713b2f61 100644 --- a/scene/dialog/balloon_debug.tscn +++ b/scene/dialog/balloon_debug.tscn @@ -56,7 +56,7 @@ MarginContainer/constants/margin_top = 15 Panel/styles/panel = SubResource("StyleBoxEmpty_jydvi") [node name="Balloon" type="CanvasLayer"] -layer = 100 +layer = 12 script = ExtResource("1_jfh0c") metadata/_edit_vertical_guides_ = [-78.0] metadata/_edit_horizontal_guides_ = [276.0] diff --git a/scene/entity/note.gd b/scene/entity/note.gd index 70737a32..87e27892 100644 --- a/scene/entity/note.gd +++ b/scene/entity/note.gd @@ -8,7 +8,7 @@ signal read_note enabled = val if is_node_ready(): sign_mark.enabled = val -@export var action := 3 #3为none; 4为lookup_wall; 之后为其他动作,请参考 PlayerAnimationConfig +@export var action := 4 #3为none; 4为lookup_wall; 之后为其他动作,请参考 PlayerAnimationConfig @export_enum("os", "ballon") var mode = "os" @export_enum("items", "c01", "c02", "c03", "c04", "c05") var dialogue := "items": set(val): @@ -86,7 +86,16 @@ func _on_interacted() -> void: func _show_os(res, title): var lines = await DialogueUtil.get_lines(res, title) SceneManager.pop_os(lines) - SceneManager.freeze_player(1.0, action) + interacting = true + var player = SceneManager.get_player() + if player: + player.freeze_player(0.0, action, false) + player.os_finished.connect(_on_os_finished, CONNECT_ONE_SHOT) + + +func _on_os_finished(): + interacting = false + SceneManager.release_player() func _show_balloon(res, title): diff --git a/scene/entity/partical/particals_ash_vertical.tscn b/scene/entity/partical/particals_ash_vertical.tscn index 0e998fae..a378184a 100644 --- a/scene/entity/partical/particals_ash_vertical.tscn +++ b/scene/entity/partical/particals_ash_vertical.tscn @@ -23,23 +23,22 @@ emission_shape = 3 emission_box_extents = Vector3(300, 20, 0) angle_min = -300.0 angle_max = 300.0 -direction = Vector3(0, 50, 0) +direction = Vector3(-20, 70, 0) spread = 30.0 -initial_velocity_min = 5.0 -initial_velocity_max = 15.0 +initial_velocity_min = 10.0 +initial_velocity_max = 35.0 gravity = Vector3(0, 0, 0) -scale_min = 0.1 -scale_max = 0.5 +scale_min = 0.5 scale_curve = SubResource("CurveTexture_jq14j") color_ramp = SubResource("GradientTexture1D_5cty7") [node name="ParticalsAsh" type="Node2D"] [node name="纸钱" type="GPUParticles2D" parent="."] -amount = 200 -process_material = SubResource("ParticleProcessMaterial_wa8gc") +amount = 300 texture = ExtResource("1_hsa64") -lifetime = 50.0 +lifetime = 30.0 preprocess = 20.0 visibility_rect = Rect2(-750, 0, 1500, 600) +process_material = SubResource("ParticleProcessMaterial_wa8gc") metadata/_edit_vertical_guides_ = [-721.0] diff --git a/scene/ground/camera/camera_focus_marker.gd b/scene/ground/camera/camera_focus_marker.gd index 3b31e493..21e5f504 100644 --- a/scene/ground/camera/camera_focus_marker.gd +++ b/scene/ground/camera/camera_focus_marker.gd @@ -35,7 +35,7 @@ func _enter_tree() -> void: if is_node_ready(): reset_position_immediately() -func shake_camera(strength := 15.0): +func shake_camera(strength := 7.0): shake_strength = strength func reset_position_immediately(): diff --git a/scene/ground/scene/c01/s05_animation.gd b/scene/ground/scene/c01/s05_animation.gd index 69daddef..22b21818 100644 --- a/scene/ground/scene/c01/s05_animation.gd +++ b/scene/ground/scene/c01/s05_animation.gd @@ -72,9 +72,12 @@ func _on_ground_ready() -> void: piano.interacted.connect(_on_piano_interacted) func _on_bed_reading_frame_changed(): - if bed_reading.animation == "c01_小小蝶_床上看书" and bed_reading.frame == 10: - # 播放结束,0.5s 后释放角色 - get_tree().create_timer(0.5).timeout.connect(SceneManager.release_player) + if bed_reading.animation == "c01_小小蝶_床上看书": + if bed_reading.frame == 5: + DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s05_院长房间_开场") + elif bed_reading.frame == 10: + # 播放结束,0.5s 后释放角色 + get_tree().create_timer(0.5).timeout.connect(SceneManager.release_player) func _on_note_read(): diff --git a/scene/ground/scene/c01/s05_院长房间.tscn b/scene/ground/scene/c01/s05_院长房间.tscn index b68edb26..d3ca41c1 100644 --- a/scene/ground/scene/c01/s05_院长房间.tscn +++ b/scene/ground/scene/c01/s05_院长房间.tscn @@ -462,7 +462,7 @@ tracks/8/path = NodePath("CameraFocusMarker:zoom_ratio") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 0.84, 3.18, 4.1), +"times": PackedFloat32Array(0, 1.22, 3.1, 4.1), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, "values": [1.0, 1.3, 1.3, 1.0] diff --git a/scene/ground/scene/c01/s06_animation.gd b/scene/ground/scene/c01/s06_animation.gd index 15e14a11..ff5d8183 100644 --- a/scene/ground/scene/c01/s06_animation.gd +++ b/scene/ground/scene/c01/s06_animation.gd @@ -76,11 +76,31 @@ func _dean_flip_book() -> void: dean.play("院长翻书") +# 在游戏开始前,更早的对话 +func pre_game_intro(): + SceneManager.freeze_player(0) + DialogueManager.dialogue_ended.connect(_on_pre_game_intro_finished, CONNECT_ONE_SHOT) + var camera = SceneManager.get_camera_marker() as CameraFocusMarker + camera.tween_zoom(1.5, 3.0) + var p = $"../DeployLayer/四小孩画鬼差的对话ambush/FocusPoint" + camera.focus_node(p, 3.0) + await get_tree().create_timer(1.5).timeout + DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s06_四个小孩画鬼差的对话") + + +func _on_pre_game_intro_finished(_res): + # 重置镜头 + SceneManager.focus_player_and_reset_zoom(2.5) + await get_tree().create_timer(1.5).timeout + var lines = await DialogueUtil.generate_lines(tr("c01_s06_熟悉的墙画")) + var player = SceneManager.get_player() as MainPlayer + player.pop_os(lines) + player.os_finished.connect(pre_game_os_finished, CONNECT_ONE_SHOT) + +func pre_game_os_finished(): + SceneManager.release_player() + func game_intro() -> void: - # 游戏开始后,禁用npc对话 - standing_kid1.get_node("对话1").enabled = false - standing_kid2.get_node("对话2").enabled = false - game_kid.get_node("对话3").enabled = false # 禁用猫鼠游戏开始 ambush 检测 cat_rat_game_start_ambush.enabled = false var camera = SceneManager.get_camera_marker() as CameraFocusMarker @@ -116,8 +136,10 @@ func _game_counting_down(_res = null): cat.visible = true cat.play("【墙上黑猫】跑步") + var kid_run_tween + func _kids_start_run(): standing_kid1.get_node("猫鼠游戏重置ambush").enabled = true if kid_run_tween: diff --git a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn index d13a658f..b7df653f 100644 --- a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn +++ b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=35 format=3 uid="uid://bx16c8nn32f40"] +[gd_scene load_steps=34 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" uid="uid://don6fobmq0h6x" path="res://scene/ground/scene/c01/s06_animation.gd" id="2_fkfhi"] @@ -79,10 +79,6 @@ size = Vector2(10, 70) resource_local_to_scene = true size = Vector2(30, 70) -[sub_resource type="RectangleShape2D" id="RectangleShape2D_ga8xr"] -resource_local_to_scene = true -size = Vector2(20, 60) - [sub_resource type="FastNoiseLite" id="FastNoiseLite_jw18h"] noise_type = 2 fractal_type = 2 @@ -154,6 +150,7 @@ target_scene = "c01_s07" visible = false position = Vector2(575, 9) enabled = false +action = 3 title_filter = "c01" note_key = "c01_s06_院长房间" @@ -161,12 +158,14 @@ note_key = "c01_s06_院长房间" visible = false position = Vector2(998, 2) enabled = false +action = 3 title_filter = "c01" note_key = "c01_s06_小朋友房间" [node name="门口对话ambush" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_tudob")] position = Vector2(295, 43) freeze_time = 1.0 +lock_player_on_playing_dialogue = false hook_dialogue_title = "c01_s06_走廊前对话" [node name="门口ambush" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_tudob")] @@ -196,7 +195,15 @@ position = Vector2(1358, 0) sprite_frames = ExtResource("2_l4axy") animation = &"跷跷板" -[node name="drawing_kids" type="Node2D" parent="Ground/DeployLayer" index="9"] +[node name="四小孩画鬼差的对话ambush" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_tudob")] +position = Vector2(1413, 66) +freeze_time = 1.0 +hook_method = "pre_game_intro" + +[node name="FocusPoint" type="Node2D" parent="Ground/DeployLayer/四小孩画鬼差的对话ambush"] +position = Vector2(212, -35) + +[node name="drawing_kids" type="Node2D" parent="Ground/DeployLayer" index="10"] position = Vector2(1593, 44) [node name="【画画小女孩】" parent="Ground/DeployLayer/drawing_kids" instance=ExtResource("8_ouldg")] @@ -231,7 +238,7 @@ action_configs = Array[Dictionary]([{ "intro_loop": 2 }]) -[node name="游戏中途桌椅" parent="Ground/DeployLayer" index="10" instance=ExtResource("8_ouldg")] +[node name="游戏中途桌椅" parent="Ground/DeployLayer" index="11" instance=ExtResource("8_ouldg")] position = Vector2(2838.5, 0.5) sprite_frames = ExtResource("7_dsj2r") animation = &"桌椅正常" @@ -260,7 +267,7 @@ position = Vector2(7, 48) shape = SubResource("RectangleShape2D_1ojoa") debug_color = Color(0.519778, 0.447036, 0.929413, 0.42) -[node name="Interactable桌椅" parent="Ground/DeployLayer" index="11" instance=ExtResource("12_idjp0")] +[node name="Interactable桌椅" parent="Ground/DeployLayer" index="12" instance=ExtResource("12_idjp0")] position = Vector2(2740.5, 50.5) one_shot = false @@ -270,7 +277,7 @@ metadata/_edit_use_anchors_ = true [node name="CollisionShape2D" parent="Ground/DeployLayer/Interactable桌椅/Area2D" index="0"] shape = SubResource("RectangleShape2D_73xsu") -[node name="【站立小孩-3】" parent="Ground/DeployLayer" index="12" instance=ExtResource("8_ouldg")] +[node name="【站立小孩-3】" parent="Ground/DeployLayer" index="13" instance=ExtResource("8_ouldg")] position = Vector2(1558, -12) sprite_frames = ExtResource("7_dsj2r") animation = &"【站立小孩-3】呼吸" @@ -288,7 +295,7 @@ move_configs = Array[Dictionary]([{ "velocity": Vector2(35, 0) }]) -[node name="【站立小孩-1】" parent="Ground/DeployLayer" index="13" instance=ExtResource("8_ouldg")] +[node name="【站立小孩-1】" parent="Ground/DeployLayer" index="14" instance=ExtResource("8_ouldg")] position = Vector2(1533, -5) sprite_frames = ExtResource("7_dsj2r") animation = &"【站立小孩-1】侧面呼吸" @@ -306,7 +313,7 @@ move_configs = Array[Dictionary]([{ "velocity": Vector2(38, 0) }, { "animation": &"【站立小孩-1】侧面跑步", -"velocity": Vector2(120, 0) +"velocity": Vector2(115, 0) }]) [node name="桌椅ambush1" parent="Ground/DeployLayer/【站立小孩-1】" instance=ExtResource("11_tudob")] @@ -333,17 +340,7 @@ enabled = false [node name="CollisionShape2D" parent="Ground/DeployLayer/【站立小孩-1】/猫鼠游戏重置ambush/Area2D" index="0"] shape = SubResource("RectangleShape2D_7cdhx") -[node name="对话1" parent="Ground/DeployLayer/【站立小孩-1】" instance=ExtResource("12_28t76")] -position = Vector2(0, 53) -mode = "ballon" -dialogue = "c01" -title_filter = "c01" -note_key = "c01_s06_对话1" - -[node name="CollisionShape2D" parent="Ground/DeployLayer/【站立小孩-1】/对话1/Area2D" index="0"] -shape = SubResource("RectangleShape2D_ga8xr") - -[node name="【站立小孩-2】" parent="Ground/DeployLayer" index="14" instance=ExtResource("8_ouldg")] +[node name="【站立小孩-2】" parent="Ground/DeployLayer" index="15" instance=ExtResource("8_ouldg")] z_index = 10 position = Vector2(1505, 19) sprite_frames = ExtResource("7_dsj2r") @@ -363,7 +360,7 @@ move_configs = Array[Dictionary]([{ "velocity": Vector2(33, 0) }, { "animation": &"【站立小孩-2】侧面跑步", -"velocity": Vector2(95, 0) +"velocity": Vector2(110, 0) }]) [node name="FocusPoint" type="Node2D" parent="Ground/DeployLayer/【站立小孩-2】"] @@ -381,15 +378,7 @@ collision_mask = 64 [node name="CollisionShape2D" parent="Ground/DeployLayer/【站立小孩-2】/桌椅ambush2/Area2D" index="0"] shape = SubResource("RectangleShape2D_ceat6") -[node name="对话2" parent="Ground/DeployLayer/【站立小孩-2】" instance=ExtResource("12_28t76")] -position = Vector2(0, 42) -enabled = false -mode = "ballon" -dialogue = "c01" -title_filter = "c01" -note_key = "c01_s06_对话2" - -[node name="【墙上黑猫】" parent="Ground/DeployLayer" index="15" instance=ExtResource("8_ouldg")] +[node name="【墙上黑猫】" parent="Ground/DeployLayer" index="16" instance=ExtResource("8_ouldg")] position = Vector2(1453, -14) scale = Vector2(0.8, 0.8) sprite_frames = ExtResource("7_dsj2r") @@ -401,13 +390,13 @@ move_configs = Array[Dictionary]([{ "velocity": Vector2(150, 0) }]) -[node name="猫鼠游戏开始ambush" parent="Ground/DeployLayer" index="16" instance=ExtResource("11_tudob")] +[node name="猫鼠游戏开始ambush" parent="Ground/DeployLayer" index="17" instance=ExtResource("11_tudob")] position = Vector2(1809, 56) one_shot = false freeze_time = 1.0 hook_method = "game_intro" -[node name="【胖小孩背着残疾小孩】" parent="Ground/DeployLayer" index="17" instance=ExtResource("8_ouldg")] +[node name="【胖小孩背着残疾小孩】" parent="Ground/DeployLayer" index="18" instance=ExtResource("8_ouldg")] z_index = 1 position = Vector2(1733, 5) sprite_frames = ExtResource("7_dsj2r") @@ -429,7 +418,7 @@ action_configs = Array[Dictionary]([{ }]) move_configs = Array[Dictionary]([{ "animation": "【胖小孩背着残疾小孩】奔跑", -"velocity": Vector2(90, 0) +"velocity": Vector2(106, 0) }]) [node name="桌椅ambush3" parent="Ground/DeployLayer/【胖小孩背着残疾小孩】" instance=ExtResource("11_tudob")] @@ -450,6 +439,7 @@ z_as_relative = false position = Vector2(-23, 1) sprite_frames = ExtResource("7_dsj2r") animation = &"【单残疾小孩】爬行" +autoplay = "【单残疾小孩】爬行" autostart = false move_configs = Array[Dictionary]([{ "animation": &"【单残疾小孩】爬行", @@ -470,7 +460,7 @@ action_configs = Array[Dictionary]([{ "animation_next": "【墙上小孩猫影子】猫影跑步", "animation_wait_time": 1.0 }]) -light_energy = -0.2 +light_energy = -0.1 [node name="猫鼠游戏失败ambush" parent="Ground/DeployLayer/【胖小孩背着残疾小孩】/【单残疾小孩】" instance=ExtResource("11_tudob")] position = Vector2(19, 49) @@ -483,14 +473,7 @@ enabled = false [node name="CollisionShape2D" parent="Ground/DeployLayer/【胖小孩背着残疾小孩】/【单残疾小孩】/猫鼠游戏失败ambush/Area2D" index="0"] shape = SubResource("RectangleShape2D_7cdhx") -[node name="对话3" parent="Ground/DeployLayer/【胖小孩背着残疾小孩】" instance=ExtResource("12_28t76")] -position = Vector2(0, 51) -mode = "ballon" -dialogue = "c01" -title_filter = "c01" -note_key = "c01_s06_对话3" - -[node name="猫鼠游戏胜利ambush" parent="Ground/DeployLayer" index="18" instance=ExtResource("11_tudob")] +[node name="猫鼠游戏胜利ambush" parent="Ground/DeployLayer" index="19" instance=ExtResource("11_tudob")] position = Vector2(4546, 45) one_shot = false freeze_time = 0.1 @@ -607,7 +590,6 @@ position = Vector2(0, -1) [editable path="Ground/DeployLayer/Interactable桌椅/Sign"] [editable path="Ground/DeployLayer/【站立小孩-1】/桌椅ambush1"] [editable path="Ground/DeployLayer/【站立小孩-1】/猫鼠游戏重置ambush"] -[editable path="Ground/DeployLayer/【站立小孩-1】/对话1"] [editable path="Ground/DeployLayer/【站立小孩-2】/桌椅ambush2"] [editable path="Ground/DeployLayer/【胖小孩背着残疾小孩】/桌椅ambush3"] [editable path="Ground/DeployLayer/【胖小孩背着残疾小孩】/【单残疾小孩】/猫鼠游戏失败ambush"] diff --git a/scene/ground/scene/c01/s08_animation.gd b/scene/ground/scene/c01/s08_animation.gd index 4415068f..3419ba76 100644 --- a/scene/ground/scene/c01/s08_animation.gd +++ b/scene/ground/scene/c01/s08_animation.gd @@ -100,7 +100,7 @@ func _on_dialogue_ended(_res) -> void: func assign_tasks() -> void: # 放报纸动作 - SceneManager.freeze_player(4.5, 8, true) + SceneManager.freeze_player(0, 8, false) await get_tree().create_timer(4.5).timeout DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s08_书店老板任务") DialogueManager.dialogue_ended.connect(_on_dialogue_ended, CONNECT_ONE_SHOT) diff --git a/scene/ground/scene/c01/s12_书店外_诡异版.tscn b/scene/ground/scene/c01/s12_书店外_诡异版.tscn index a52cd680..ea04998b 100644 --- a/scene/ground/scene/c01/s12_书店外_诡异版.tscn +++ b/scene/ground/scene/c01/s12_书店外_诡异版.tscn @@ -139,7 +139,7 @@ hook_method = "player_been_catched" [node name="飘动的寻人启事" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_pwu7i")] z_index = 1 -position = Vector2(1027, -50) +position = Vector2(943, -51) [node name="陆仁舞刀" parent="Ground/DeployLayer" index="7" instance=ExtResource("14_ct084")] position = Vector2(1748, 10) @@ -235,28 +235,34 @@ ambient_light_energy = 0.6 ambient_light_color = Color(0.986481, 0.370829, 0.371193, 1) [node name="ParticalsAsh" parent="Ground/AmbientLayer" index="2" instance=ExtResource("6_mfjjt")] -position = Vector2(1990, -138) +position = Vector2(1721, -169) -[node name="PointLight2D花" type="PointLight2D" parent="Ground/AmbientLayer" index="3"] +[node name="ParticalsAsh2" parent="Ground/AmbientLayer" index="3" instance=ExtResource("6_mfjjt")] +position = Vector2(1163, -161) + +[node name="ParticalsAsh3" parent="Ground/AmbientLayer" index="4" instance=ExtResource("6_mfjjt")] +position = Vector2(2009, -139) + +[node name="PointLight2D花" type="PointLight2D" parent="Ground/AmbientLayer" index="5"] position = Vector2(317, 69) energy = 0.7 range_item_cull_mask = 2 texture = ExtResource("17_nta2f") -[node name="PointLight2D花2" type="PointLight2D" parent="Ground/AmbientLayer" index="4"] +[node name="PointLight2D花2" type="PointLight2D" parent="Ground/AmbientLayer" index="6"] position = Vector2(518, 69) energy = 0.7 range_item_cull_mask = 2 texture = ExtResource("17_nta2f") -[node name="PointLight2D花3" type="PointLight2D" parent="Ground/AmbientLayer" index="5"] +[node name="PointLight2D花3" type="PointLight2D" parent="Ground/AmbientLayer" index="7"] position = Vector2(1031, 48) color = Color(0.95127, 0.455775, 0.326473, 1) energy = 0.7 range_item_cull_mask = 2 texture = ExtResource("17_nta2f") -[node name="PointLight2D花4" type="PointLight2D" parent="Ground/AmbientLayer" index="6"] +[node name="PointLight2D花4" type="PointLight2D" parent="Ground/AmbientLayer" index="8"] position = Vector2(1232, 48) color = Color(0.95127, 0.455775, 0.326473, 1) energy = 0.7 diff --git a/scene/ground/script/c01/s12_飘动的寻人启事.gd b/scene/ground/script/c01/s12_飘动的寻人启事.gd index cbd98b58..939a6ee8 100644 --- a/scene/ground/script/c01/s12_飘动的寻人启事.gd +++ b/scene/ground/script/c01/s12_飘动的寻人启事.gd @@ -1,7 +1,7 @@ @tool extends Node2D -@export var velocity := 0.1 +@export var velocity := 0.15 @export var area_size := Vector2(500, 150): set(val): area_size = val @@ -31,7 +31,7 @@ func _draw() -> void: # 最多保持 4 个点; 先生成两个在左侧,再生成两个在右侧,然后再回到左侧,以此循环,形成左右摇摆的闭合路径 -var bezier_points = [Vector2(0, 0), Vector2(200, 30), Vector2(350, 60), Vector2(400, 80), Vector2(300, 90), Vector2(250, 120), Vector2(150, 150), Vector2(80, 150), Vector2(0, 150)] +var bezier_points = [Vector2(0, 0), Vector2(150, 20), Vector2(250, 40), Vector2(350, 60), Vector2(400, 80), Vector2(300, 100), Vector2(250, 120), Vector2(160, 130), Vector2(120, 140), Vector2(60, 150), Vector2(0, 150)] var current_position = Vector2.ZERO var weight := 0.0 diff --git a/scene/ground/script/c01/s12_飘动的寻人启事.tscn b/scene/ground/script/c01/s12_飘动的寻人启事.tscn index de1bfca1..1bab6b48 100644 --- a/scene/ground/script/c01/s12_飘动的寻人启事.tscn +++ b/scene/ground/script/c01/s12_飘动的寻人启事.tscn @@ -22,7 +22,7 @@ size = Vector2(20, 10) [node name="飘动的寻人启事" type="Node2D"] position = Vector2(43, 96) script = ExtResource("1_like6") -velocity = 0.4 +velocity = 0.5 [node name="Node2D" type="Node2D" parent="."] diff --git a/scene/little_game/书架/书架.gd b/scene/little_game/书架/书架.gd index 37a0425a..f7b42737 100644 --- a/scene/little_game/书架/书架.gd +++ b/scene/little_game/书架/书架.gd @@ -40,6 +40,7 @@ var gameover = false func _ready() -> void: + layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME # init answer first _init_answer_and_connect_signals() if Engine.is_editor_hint(): diff --git a/scene/little_game/书架/书架.tscn b/scene/little_game/书架/书架.tscn index c04eea49..efaf6825 100644 --- a/scene/little_game/书架/书架.tscn +++ b/scene/little_game/书架/书架.tscn @@ -187,6 +187,7 @@ atlas = ExtResource("6_pxxx5") region = Rect2(453, 459, 13, 97) [node name="书架" type="CanvasLayer"] +layer = 5 script = ExtResource("1_8af23") [node name="SfxInterchange" parent="." instance=ExtResource("3_03tyv")] diff --git a/scene/little_game/书架/生死簿.gd b/scene/little_game/书架/生死簿.gd index e913d301..1d5db218 100644 --- a/scene/little_game/书架/生死簿.gd +++ b/scene/little_game/书架/生死簿.gd @@ -29,7 +29,8 @@ var mode := 0: func _ready() -> void: - layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME + # 盖在书架上层,所以 +1 + layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME + 1 mode = 0 %ButtonPaperback.pressed.connect(_on_button_pressed.bind(1)) # 从右到左翻页,所以右侧-1,左侧+1 diff --git a/scene/little_game/书架/生死簿.tscn b/scene/little_game/书架/生死簿.tscn index 7e7963fb..017101cf 100644 --- a/scene/little_game/书架/生死簿.tscn +++ b/scene/little_game/书架/生死簿.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=42 format=3 uid="uid://bl5pohc77hi43"] +[gd_scene load_steps=45 format=3 uid="uid://bl5pohc77hi43"] [ext_resource type="Script" uid="uid://cyyku6caspu01" path="res://scene/little_game/书架/生死簿.gd" id="1_wipr2"] [ext_resource type="PackedScene" uid="uid://c85t6stvytvjn" path="res://scene/entity/general/sfx.tscn" id="3_17f8x"] @@ -16,6 +16,140 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mii3t"] +[sub_resource type="Animation" id="Animation_40hbj"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("DirectionalLight2D:energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("DirectionalLight2D:color") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 0.4655, 0.395153, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%页面/../Polygon2D:color") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("DirectionalLight2D2:color") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 0.341404, 0.271965, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("DirectionalLight2D2:energy") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_adstd"] +resource_name = "flash" +length = 0.6 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("DirectionalLight2D:energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.14, 0.22, 0.27, 0.39, 0.48), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 0, +"values": [0.0, 1.0, 0.5, 1.0, 0.5, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("DirectionalLight2D:color") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.19, 0.38, 0.47), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(0.325954, 0.00240348, 3.62184e-06, 1), Color(1, 0.4655, 0.395153, 1), Color(0.373978, 0.00319589, 4.81308e-06, 1), Color(0.68393, 0.0117872, 1.79046e-05, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%页面/../Polygon2D:color") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.14, 0.42, 0.51), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(0.312466, 0.312466, 0.312466, 1), Color(0.712129, 0.712129, 0.712129, 1), Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("DirectionalLight2D2:color") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.19, 0.3, 0.44), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 0.873302, 0.851352, 1), Color(1, 0.341404, 0.271965, 1), Color(0.25098, 0.631373, 0.756863, 1), Color(1, 0.938654, 0.927912, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("DirectionalLight2D2:energy") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.18, 0.21, 0.27, 0.34, 0.38, 0.46, 0.52), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [0.0, 1.0, 0.5, 10.0, 0.3, 3.0, 0.2, 0.0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_7rw5g"] +_data = { +&"RESET": SubResource("Animation_40hbj"), +&"flash": SubResource("Animation_adstd") +} + [sub_resource type="AtlasTexture" id="AtlasTexture_40hbj"] atlas = ExtResource("12_adstd") region = Rect2(213, 58, 36, 86) @@ -142,7 +276,7 @@ shader_parameter/tint_color = Color(1, 0.938631, 0.928082, 1) shader_parameter/tint_amount = 0.127 [node name="生死簿" type="CanvasLayer"] -layer = 11 +layer = 5 script = ExtResource("1_wipr2") [node name="SfxPage" parent="." instance=ExtResource("3_17f8x")] @@ -213,7 +347,7 @@ theme_override_styles/focus = SubResource("StyleBoxEmpty_mii3t") flat = true [node name="Polygon2D" type="Polygon2D" parent="Control"] -color = Color(0.592157, 0, 0.0156863, 0) +color = Color(1, 1, 1, 0) polygon = PackedVector2Array(-17, -13, 575, -11, 574, 324, -12, 322) [node name="封面" type="Sprite2D" parent="Control"] @@ -244,7 +378,11 @@ position = Vector2(309, 158) texture = ExtResource("7_hohup") offset = Vector2(-20, 0) script = ExtResource("4_dssaj") -area_size = Vector2(220, 150) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Control/页面/陆小蝶"] +libraries = { +&"": SubResource("AnimationLibrary_7rw5g") +} [node name="SfxStamp" parent="Control/页面/陆小蝶" instance=ExtResource("3_17f8x")] stream = ExtResource("4_jifnx") @@ -259,202 +397,171 @@ file = "出现.mp3" [node name="seals" type="Node2D" parent="Control/页面/陆小蝶"] [node name="seal1" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-65, -30) rotation = 0.589982 scale = Vector2(0.5, 0.5) texture = SubResource("AtlasTexture_40hbj") [node name="seal2" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-35, 2) rotation = 0.354212 scale = Vector2(0.5, 0.5) texture = SubResource("AtlasTexture_7rw5g") [node name="seal3" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-4, -13) rotation = -0.00212718 scale = Vector2(0.5, 0.5) texture = SubResource("AtlasTexture_p2wy3") [node name="seal4" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(47, -12) rotation = 0.495285 scale = Vector2(0.5, 0.5) texture = SubResource("AtlasTexture_i0uoq") [node name="seal5" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-92, -65) rotation = 1.5708 texture = SubResource("AtlasTexture_w7g70") [node name="seal6" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-62.7654, -65) rotation = 1.5708 texture = SubResource("AtlasTexture_iee7q") [node name="seal7" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-33.607, -65.4473) rotation = 1.52321 texture = SubResource("AtlasTexture_1txev") [node name="seal8" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-4.35236, -66) rotation = 1.5708 texture = SubResource("AtlasTexture_36qa7") [node name="seal9" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(24.7492, -66.9614) rotation = 1.52915 texture = SubResource("AtlasTexture_o5v72") [node name="seal10" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-48, -54) rotation = 3.66074 texture = SubResource("AtlasTexture_w66tj") [node name="seal11" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-59.4444, -35.4074) rotation = 3.78509 texture = SubResource("AtlasTexture_w3drj") [node name="seal12" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-74.4005, -19.4802) rotation = 3.97957 texture = SubResource("AtlasTexture_1spdb") [node name="seal13" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-48, -39) rotation = 1.75065 texture = SubResource("AtlasTexture_hqty3") [node name="seal14" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-22.9836, -28.8452) rotation = 2.17757 texture = SubResource("AtlasTexture_dnk2y") [node name="seal15" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-32.6797, -3.01064) rotation = 3.54012 texture = SubResource("AtlasTexture_xytdi") [node name="seal16" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-45.2371, 21.5391) rotation = 3.72067 texture = SubResource("AtlasTexture_wdtj8") [node name="seal17" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-61.2921, 43.6229) rotation = 3.8967 texture = SubResource("AtlasTexture_71e7e") [node name="seal18" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-82.7998, 60.1157) rotation = 4.27001 texture = SubResource("AtlasTexture_01jvt") [node name="seal19" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-68, -18) rotation = 2.70918 texture = SubResource("AtlasTexture_w66tj") [node name="seal20" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-63.4966, -8.24252) rotation = 2.70918 texture = SubResource("AtlasTexture_w3drj") [node name="seal21" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-58.2449, 0.632675) rotation = 2.55359 texture = SubResource("AtlasTexture_1spdb") [node name="seal22" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-52.1566, 9.04825) rotation = 2.40878 texture = SubResource("AtlasTexture_hqty3") [node name="seal23" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-2, -53) rotation = 3.19867 texture = SubResource("AtlasTexture_dnk2y") [node name="seal24" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-3.99252, -18.2165) rotation = 3.19867 texture = SubResource("AtlasTexture_xytdi") [node name="seal25" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(-4.03418, 16.4319) rotation = 3.14159 texture = SubResource("AtlasTexture_wdtj8") [node name="seal26" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(2.37357, 50.2137) rotation = 2.56729 texture = SubResource("AtlasTexture_71e7e") [node name="seal27" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(28.4496, 71.6259) rotation = 2.05168 texture = SubResource("AtlasTexture_01jvt") [node name="seal28" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(62.6506, 75.4119) rotation = 1.61838 texture = SubResource("AtlasTexture_dnk2y") [node name="seal29" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(77.2228, 75.1196) rotation = 1.41815 texture = SubResource("AtlasTexture_xytdi") [node name="seal30" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(56, -33) rotation = 3.58601 texture = SubResource("AtlasTexture_wdtj8") [node name="seal31" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(44.4149, -10.4801) rotation = 3.80853 texture = SubResource("AtlasTexture_71e7e") [node name="seal32" type="Sprite2D" parent="Control/页面/陆小蝶/seals"] -modulate = Color(0.710006, 0.41208, 0.953067, 1) position = Vector2(25.0474, 6.01167) rotation = 4.12819 texture = SubResource("AtlasTexture_01jvt") [node name="PathRoot" type="Node2D" parent="Control/页面/陆小蝶"] +visible = false position = Vector2(-309, -163) [node name="Path2D" type="Path2D" parent="Control/页面/陆小蝶/PathRoot"] diff --git a/scene/little_game/书架/陆小蝶名字.gd b/scene/little_game/书架/陆小蝶名字.gd index 6fc5e9e6..8cd28f11 100644 --- a/scene/little_game/书架/陆小蝶名字.gd +++ b/scene/little_game/书架/陆小蝶名字.gd @@ -3,28 +3,21 @@ extends Sprite2D signal finished -@export var area_size := Vector2(60, 60): - set(val): - area_size = val - queue_redraw() -@export var gizmo_outline_color := Color(0.8, 0.3, 0.1, 0.8): - set(val): - gizmo_outline_color = val - queue_redraw() @export_tool_button("Reset Stamps", "Callable") var reset_action := _debug_reset_stamps func play() -> void: visible = true var tween = create_tween() - tween.tween_interval(3.0) + tween.tween_interval(2.0) # var final_modulate = Color.PALE_VIOLET_RED tween.tween_property(self, "self_modulate:a", 0.0, 4.0) # tween.parallel().tween_property(get_parent(), "modulate", final_modulate, 12.0) tween = create_tween() - tween.tween_interval(7.0) + # 在小蝶名字消失的末尾(还没完全消失),开始盖章 + tween.tween_interval(4.5) # 小蝶名字消失后再显示其他名字 - var interval = 2.0 + var interval = 1.0 # var interval = 0.1 # 很快,测试用 var children = $seals.get_children() # 前四个按顺序,后面的乱序 @@ -39,12 +32,12 @@ func play() -> void: c.visible = false tween.tween_interval(interval) tween.tween_callback(_stamp_seal.bind(c)) - interval = lerpf(interval, 0.2, 0.35) + interval = lerpf(interval, 0.15, 0.35) # 最后一个印章消失后,稍加等待,发射完成信号 tween.tween_callback(_final_effect) tween.tween_interval(4.5) tween.tween_callback(_jump_scare) - tween.tween_interval(1.5) + tween.tween_interval(1.0) tween.tween_callback(finished.emit) # 共 6 画 28 个印章,+前 4 个独立布置,共至少 32 seals @@ -74,7 +67,6 @@ func _final_effect(): func _jump_scare(): - var tween = create_tween() # 毛玻璃模糊 / 熔蜡扭曲 # var e_materaial = $"../effect".material # tween.tween_property(e_materaial, "shader_parameter/intensity", 0.05, 1.0) @@ -85,16 +77,8 @@ func _jump_scare(): # shading_layer.flash_palette() # shading_layer.flash_glitch() - var l1 = $DirectionalLight2D - var l2 = $DirectionalLight2D2 - var polygon = $"../../Polygon2D" - tween.tween_property(l1, "energy", 1.0, 0.2) - tween.parallel().tween_property(l2, "energy", 2.0, 0.2) - tween.parallel().tween_property(polygon, "color:a", 0.5, 0.1) - tween.tween_property(l1, "energy", 0.0, 0.2) - tween.parallel().tween_property(l2, "energy", 0.0, 0.2) - tween.parallel().tween_property(polygon, "color:a", 0.0, 0.2) - + # 闪烁 + $AnimationPlayer.play("flash") # TODO 哈气 SceneManager.pop_debug_dialog_info("音效", "突然哈气") @@ -118,15 +102,3 @@ func _stamp_seal(seal: Sprite2D) -> void: var origin_scale = seal.scale create_tween().tween_property(seal, "scale", origin_scale * Vector2(1.05, 1.05), .1) create_tween().tween_property(seal, "scale", origin_scale * Vector2(1.0, 1.), .1) - - -func _draw() -> void: - if Engine.is_editor_hint(): - # draw gizmo - var area_rect = Rect2(-area_size * 0.5, area_size) - # fill - var fill_color = gizmo_outline_color - fill_color.a = 0.4 - draw_rect(area_rect, fill_color) - # outline - draw_rect(area_rect, gizmo_outline_color, false, 1.0) diff --git a/scene/player/main_player.gd b/scene/player/main_player.gd index 0290afc6..2baa27aa 100644 --- a/scene/player/main_player.gd +++ b/scene/player/main_player.gd @@ -3,6 +3,8 @@ extends CharacterBody2D class_name MainPlayer +signal os_finished + @export var camera_marker: CameraFocusMarker @export_enum("吕萍", "吕萍爬行", "吕萍带小猫", "小小蝶") var character := "吕萍": set(val): @@ -318,9 +320,11 @@ func pop_os(lines := []): os_tween.tween_callback(_os_load_line.bind(line)) os_tween.tween_callback(os_label.type_out) os_tween.tween_interval(duration) + os_tween.tween_callback(os_finished.emit) os_tween.tween_property(os_contaner, "modulate:a", 0.0, 0.2) + func _os_load_line(line): os_label.dialogue_line = line diff --git a/scene/player/main_player.tscn b/scene/player/main_player.tscn index 52f0fbf6..2394a7d4 100644 --- a/scene/player/main_player.tscn +++ b/scene/player/main_player.tscn @@ -29,7 +29,7 @@ z_index = 5 collision_mask = 2 script = ExtResource("1_3a78y") running_locked = true -debug_freeze = 7 +debug_freeze = 4 metadata/_edit_vertical_guides_ = [-120.0] metadata/_edit_horizontal_guides_ = [-9.0] diff --git a/scene/player/player_animation_config.gd b/scene/player/player_animation_config.gd index f26a724a..9d6a5ebd 100644 --- a/scene/player/player_animation_config.gd +++ b/scene/player/player_animation_config.gd @@ -94,7 +94,7 @@ var ANIMATION_CONFIG = { MOVEMENT_WALKING: [&"c01_小小蝶_walking_l", &"c01_小小蝶_walking_r"], MOVEMENT_RUNNING: [&"c01_小小蝶_running_l", &"c01_小小蝶_running_r"], # animation_name, left, right - ACTION_LOOKUP_WALL: [&"", Vector2.ONE, Vector2(0, -37.0), &"c01_小小蝶_抬头_l", &"c01_小小蝶_抬头_r"], + ACTION_LOOKUP_WALL: [&"c01_小小蝶_背面抬头", Vector2.ONE, Vector2(-3.0, -37.0), &"c01_小小蝶_抬头_l", &"c01_小小蝶_抬头_r"], # 看向橱柜(c01_s07 书店外) 5: [&"c01_小小蝶_书店外看向橱窗", Vector2.ONE, Vector2(0, -88.0)], # 敲门(c01_s07 书店外) diff --git a/scene/prop/prop_bag.gd b/scene/prop/prop_bag.gd index 8e79584b..b0885f43 100644 --- a/scene/prop/prop_bag.gd +++ b/scene/prop/prop_bag.gd @@ -59,12 +59,13 @@ func _display_item(prop_key, button): func _unhandled_input(event: InputEvent) -> void: + # bag 界面接受所有输入事件 + get_viewport().set_input_as_handled() if ( event.is_action_pressed("bag") or event.is_action_pressed("cancel") or event.is_action_pressed("escape") ): - get_viewport().set_input_as_handled() get_tree().paused = false # SceneManager.unlock_player() queue_free() diff --git a/scene/settings/settings.gd b/scene/settings/settings.gd index fb0b6f75..6caa8828 100644 --- a/scene/settings/settings.gd +++ b/scene/settings/settings.gd @@ -123,7 +123,7 @@ func _on_diary_btn_pressed() -> void: func _unhandled_key_input(event: InputEvent) -> void: if not visible: return + # settings 界面接受所有输入事件 + get_viewport().set_input_as_handled() if event.is_action_pressed("escape"): exit_settings() - # block the event - get_viewport().set_input_as_handled()