From c5cfe236da5b031f2aa723f6753616e7f76ee6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Tue, 17 Mar 2026 22:15:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=89=B9=E6=95=88):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=A0=BC=E6=8C=A1=E7=89=B9=E6=95=88=E5=B9=B6=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增格挡特效资源文件 - 调整格挡动画时间参数从0.8降至0.53 - 提高格挡动画播放速度从10到15 - 修改格挡特效生成位置距离从120增至150 - 更新特效颜色混合方式,使用子弹贴图颜色混合 --- components/Effects/Parry.tscn | 4 +- .../parrier/Effect_ParryCounterPrepare8.png | Bin 0 -> 5466 bytes .../Effect_ParryCounterPrepare8.png.import | 40 ++++++++++++++++++ scripts/Contents/Bullets/Parrier.gd | 4 +- 4 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 resources/bullets/parrier/Effect_ParryCounterPrepare8.png create mode 100644 resources/bullets/parrier/Effect_ParryCounterPrepare8.png.import diff --git a/components/Effects/Parry.tscn b/components/Effects/Parry.tscn index 106c5ca..2b99561 100644 --- a/components/Effects/Parry.tscn +++ b/components/Effects/Parry.tscn @@ -21,7 +21,7 @@ tracks/0/path = NodePath("%stage/../texture") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.8), +"times": PackedFloat32Array(0, 0.53), "transitions": PackedFloat32Array(1, 1), "values": [{ "args": [&"default", 1.0, false], @@ -66,7 +66,7 @@ animations = [{ }], "loop": false, "name": &"default", -"speed": 10.0 +"speed": 15.0 }] [node name="Parry" instance=ExtResource("1_vc7s4")] diff --git a/resources/bullets/parrier/Effect_ParryCounterPrepare8.png b/resources/bullets/parrier/Effect_ParryCounterPrepare8.png new file mode 100644 index 0000000000000000000000000000000000000000..c354082bc5af243cb6151a1ed2fb7f4f1c134ff6 GIT binary patch literal 5466 zcmV-g6{YHlP)002t}1^@s6I8J)%00009a7bBm000ie z000ie0hKEb8vpp~0V7bBTAk~cGsPx>v25QZAeh9bt-%tY4y-yW9!o4-N1i5 z%S{BV9yQB6TImF@RiG}E6DY&Zv1=&nDA@|v6?hFeYtjWQ16asi4S0Rc=+h=@Zr?JT z)r^Ert3P7DO zB>-ev7QTn-X_Nze(6`XqvuJH!OdH@_UN_+#j<7q0t=YVMN(n()RqsH`fFcoy5_(>1 zomvlcl~(Y(l^C@dfHowKt~q+bUh|&-jpT9GplA-t*#lRlI013ZU6JeDeF0_kv<#_p zza+aWaaJt3I;+_cWy=JXvu-;tn+p53^L%l2E5Kbg*VyAJ|DmlYCILk{fTqN}DXX*g z;@CUbJEBE|;EcP&!uMrL=`{139GCvrdZpt<(cETf1Z5Ou=8RmB(=xzggXVYyNP+mSEnBnt>5}78JI)0ALT{U&`Sgc^!uW@FwkY@xByg&tcz7-IQSfT zhQ7VTw)mQ%JI~F@(r~?Vj@Cbo!G1lSrwF~)j)9=4^jkv&82tjG`$}g~zT5DBwM;LC z)T#ymcleF!tQA?!ACo=>5=2d2my40>PiZa@1JvA@O#Sh+6u*t_Z%Y;Of%54`cr7Rg zxV;ZO{bf0L44Z=hjPgCh<1SE^_}m1F^(`ZMi^{IjBIxg@ic0KOmTLP0d7Al89Sg1V|1T!&m-4a=FoLRprexN zRHpJUAJ7*5qC~V;$1~EVbP&1eJb?1a0qXZ&l?%_J{t0(_!Hu?%tjOI!B;VElbPU23)J zZ8a66qPn#YwmOMG`2;|yzt~#~lwwOqZz-B~1^}t?rR|i)mhACZF`Z8>5O0H}E$cR4Gm zR-E;C%qS5@G#vnvdhqWkcXlcAy8%iJP=A5)2_t%CKs_v?hXD>7p-uRCIrLA$F(9DI zFHc1sZX2V`Cpy-v&Tm_?p&p#0-2yK3b(8^$=aAJ2l(Lt;3ZQH^uHs6|QT@ih>wvCW z0PxyobM2tJqk3;Z+Ei`p=OJj<<-?cu$)3FGx*}f;=z0BO=xW_S8O1rueQ|-B1UIguBgc#xLEshuko5o_7G0N{FfI0w z%LbdIVY1S>^e2OOmQPN6ONrCD7#oVzg_{XoFR(Lgt-#f>G-2o!Yj9{Qf$E@!1ZCZbR#nhtkx94b6-z>q63;s@KsiXU%w0!C>7)V~3w_i@cr z&}D)#6lh+SzT7Fh3wU|K%P!YgO_FL$2m^z&M(pjMGu6&ZHOE8{NqeP5p*#bb_K6`A>(hZo zusz{}Me*xGAy6~sx1#{h0`(w8uohaDr9XRIn!k_DFL2*C)@d6!VdV(r{|854F320o z*o|5tLx4&|Y3NsA z++&T-fWYSqILou-vviWLRu`8~fXmuL|1P8qfWBaW$`~$OfUEq7Q^a@N@HAJ-cUwS% ztM;yEJIZEio1N(l3Fpc%c-nzWGulN(qM5! zd&A){!jTRe97*CX-iZF+B?$+ae(6-)RST8-6%A6E$_M*Ozx%$U<)LwTFGu&yCuNj+ z$Ib$<9BnUaCuvU7fOUr>;4#r)Rh+t7Fd|OhZwMAVIwC(W1ohOlET!O0KXDVj;VvUO zO}fs-8L0$pHU!GjB%R^o;Fsw#*F}?cklW!|{TwLwfM_l?NW=M7Nq;gtx-O~Cs8O1o z0!PIGM*HY!XpLVfzXgqp__@Zza`0Yo)lX6Wh#URVv5=A7`7zxl-+q@CyV9@V-#2-% z7jD{g`QTL(&AV9Q`NnA(V23(P;Z565OFQQv3D6Hk=TLl$<&2CELc7vf&Q1pdRWz|> z)6-cxDyrjM@5&8=6*2u(q_jU6&C*If379n*IE|G+!KC1H68V0L(k@d9+ahOw09$?#|f&q#hR9tWmW`dp^lc}$O^O*-mk({Vihw-WU!2)6? zW|h0sXx{J!GZ15_D7R3eHj)92;*v9Efl{ z8k>93=Mke{YXS_eSq|JqEC%H(<4nbA}h(H45%30Ho{@*i$!P z+i1Yz>@IiOO^Xq2Hw+jpqC?Z9Sg+u2;$P_RlPF!_tVwX$h|a61JWpu2Dsumnm2}ig zd^}ski;-`7-deA8@}a2wwg4Cu=mi>yS-!a&K}TG@678I|<6f7G$IQqzrkZu`7j7eZ|M=|!XVz@gw#$1=?$U34#N}WFT?gP$$cP-)I_gzWbepk_L?I_K3JBT zrBQ*(KwzrX%wqtuKVZGx7`avYB(gaw1sdwV5^VzoL?hSnBWLiIzmA&9mw*L8#U-2E zBciAe1FVrtO0`s`W`~>AghiO8T+gTY)OPM{^%uDdfCUjofJO!S3b^lw##sGZ(U$fP z;CRoWv)n!^nzJTVQxAr6=AJ5lcG>ZZ_o*qre6Y_5@~k>T1IGU_9jx@PU4@Q#emy~v z)|Vx-tp&EyxDv^M+&Q_F&&y)>DH)|F5FO;cKEtzH@G?TKSd_ z4%KwjW|jDrmz&YW$>nM19OlzM4ag`}l&(uKnHZ?Fq2(q<9h?TTaWgr!(yM^%sPt!# z$>FW5vOsrbq(?eTL_lU>GmV;T8iF{7bjNVaM*FXM9{jWogK+Wr|HuL*iP9v|C58ov^kftXQy3ZICRTlNO$!R-c{9tCj}HcB$>J_p1ZXTFhhnD` zmj)h3ZPHBcQVB18-V01JhyyXS77eZSL%89)Wut{Z&lla-(I9Qx&^dP}GWew!+vQgk zS0WB~+H1jWzcMA|{v5}hr}47&OK?A@(NAc@IBBTveJB^vvwaR&-6ll!Yk-hf9Foo; zyQa*7r?oy1+J-wKI^SfrKGe>;* zBGmh*ak@{@xVf*hs_V4q@7tql^N1$=tdu+TR(VQ+(vSSc`HLuv+~cgdt2H@`#as;5 zJl-#vQMZNEd@z#}jBJIy(yG{$5rOmfc(l47yCg zP5l)M{`Ii4bl7B9cx>W`WU^PyFrR+}^QnBYx{A(sG@T$y0D%tsGjTdC=Gf4(Hzk&U&bD#m=G(K2e5&?cM|peEeEl>OINU3>ebw|k zYK%tbG64d8QabNyMB|IMF*^5izmjfmWHTl>nA#gv@Rnv4WJRSwqU0DgoZaE z)5G_S0Ay*_lz-rc50o3W=`q)$R_@K6n0${4pU?$5sjfvD3(fLa z;n!hOd|iHI4*T(=%F2H;A<;J^|4sTa_b^MHeJGhL7*)06qxB6HbpXPjLs#*GCPoqV zxFeoBZ#e*=Hojw!5K$L1Nt~Fi>=Es*EylZ;=oJF?aETmcfg*Wd(|!p+sW}CLl$1u0 zfzzFlJ^c86!d>cM!%HL~rDhZTzv$X68#>-~5`b;-dmVP*Uiywy*a@MXL~?;5IY9l6 z0g6WGV5Kn7fb=MT7$g3WRG~@=KC-C9ifqvSVi=f^kHdHDgYWnY_V>8y_$0gRv(OLA zfZzQ_nnLhum5B;hP`kYhALrYmzdt1dOhNh^+EbN*QXgq$MPk?}hEj2>|Ad_@8xaWD z0a4cN&rS?Ux0;Q3L2}5GanEjIM}C)z45Y zDKT_`viti0(7ZXW>$+e)mu2-OYa^7Rn&2QW4}$g8k>fCQwW%DvK0YdO2KQf-$Oyj%tJbc+;_~>^e4< z+Of~IxKdoXEGhGa39RLLS0QJ)bXzt*b6FNo^h>*X0N0u}IaX!l0##|D0+T!va3Hp? ziJr+OH(Rlb0A<@Vi(sg20KoH<(dp`_o1OvcyLNUtycAPyDZlg1oT26@t@!QlbH?Fz zIg6{Gk@y9uQRbrnjC$-WKntRbsePdZ|3XQ)9I*UO0 zI?5+sXSF&vwPwO)$FMY_ql`V&A7I~Ku#f1^IOkJQb;aCz2G=w7{6*9+QY?8lI~p>v zZnre4>i~wz9wa#XoppBXAQrB@6N;V>RMLLRT`4k}WFNoY1Ig7{;YZjScf(nxJzek8 z8swmRjAX+@c8O2pr@l~>+g}m2dQv*OB&7mt9kneMK9bce7h&9ut3Icv*SXwT0bmTZ z8MQz_?kLr;hOLjOp@P3z&hp9Us3hP5J8J>RhlyKUFE7!~3OFmRKFe-$bykG4ycDCz zG1e=dDC%|k)~L9@=Rc5Hr}PAXQpy~@oLa#xW1<{9 literal 0 HcmV?d00001 diff --git a/resources/bullets/parrier/Effect_ParryCounterPrepare8.png.import b/resources/bullets/parrier/Effect_ParryCounterPrepare8.png.import new file mode 100644 index 0000000..c51c7fe --- /dev/null +++ b/resources/bullets/parrier/Effect_ParryCounterPrepare8.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk6basvgsbdqn" +path="res://.godot/imported/Effect_ParryCounterPrepare8.png-0bba423dc0300aecabcaa63e327d83fc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/bullets/parrier/Effect_ParryCounterPrepare8.png" +dest_files=["res://.godot/imported/Effect_ParryCounterPrepare8.png-0bba423dc0300aecabcaa63e327d83fc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/scripts/Contents/Bullets/Parrier.gd b/scripts/Contents/Bullets/Parrier.gd index 467d2ea..beb96c5 100644 --- a/scripts/Contents/Bullets/Parrier.gd +++ b/scripts/Contents/Bullets/Parrier.gd @@ -6,7 +6,7 @@ class_name ParrierBullet func hitBullet(bullet: BulletBase): if BulletTool.canDamage(bullet, launcher): if MathTool.rate(parryRate): - var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 120) - eff.modulate = bullet.modulate + var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 150) + eff.modulate = bullet.modulate.blend(bullet.texture.modulate) eff.shot() bullet.tryDestroy()