From d5cba10aae8dc23ce1c25a3e76bf6eedfac72d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 11 Sep 2026 17:47:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8D=A2=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/characters/demon/demon_thumb.png | Bin 0 -> 1061 bytes assets/characters/dragon/dragon_thumb.png | Bin 0 -> 1080 bytes assets/characters/dwarf/dwarf_thumb.png | Bin 0 -> 1058 bytes assets/characters/elf/elf_thumb.png | Bin 0 -> 1127 bytes assets/characters/human/human_thumb.png | Bin 0 -> 1109 bytes assets/characters/undead/undead_thumb.png | Bin 0 -> 1011 bytes world.html | 15 ++++++++++++--- 7 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 assets/characters/demon/demon_thumb.png create mode 100644 assets/characters/dragon/dragon_thumb.png create mode 100644 assets/characters/dwarf/dwarf_thumb.png create mode 100644 assets/characters/elf/elf_thumb.png create mode 100644 assets/characters/human/human_thumb.png create mode 100644 assets/characters/undead/undead_thumb.png diff --git a/assets/characters/demon/demon_thumb.png b/assets/characters/demon/demon_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0cbeadb1da21de3378c836d3497e3d68c67bb4 GIT binary patch literal 1061 zcmV+=1ls$FP)HUvX-`pwA8AtR;BF&36fMXgeW}VgD;>a#D_j9i9Q)je5+3+ zMvPA+ULwQXfzs)Mx)VaG#ZUYqtR$I8jVJy`JV`iz~0zF8L)$x!X#h@xw&+PtEqcM@e-;9 z_thVgHNhx(=>if%7zhkTAAG^+?2K|hL$%;iZjq=H=5WtH9O;?&0u+wk&|4G(L$%+-{cN!At{ab1^@#9clg%`tp`usmj=0=qW7BrRd_ zZdaU+p6%@WXpY3{W$rC!mHP?Rg6}o=$qF;b=*lEVyECN5cJWllHNL$NCF^E6eyd-U z>^IOIeL=QFwlU)~@R|v+&sGoZE$3s&6TxYz0m26u`4*zp|$-t22;cA zh(4~$7G(h@<`=|^ZMT?Qn8a}%uj8J9Ft|UtlMAU~{51*ocP$co*-~YTGNrl=5m~*V zk{gp>abossEZd~D>NW445C+#*C&|w>Q4v@rlU*yl0Jbd%SQZsN!E&GzN9MS_aEf5~ zAnD8k>Ffj6oEUemKgS0neWK(7NNIX!+qMYiui;8T=cc3HPzrBoBA(A6nZ+L)fDu)$ zs0)yH9H!^f?Ai7{t!9|4n$Zwl3Oej$#Nby&&em@;pm5=)iP&YeBpxUTV!NWU=f8$P;fpZ3;)2E*dw-4-s! z1>@6GqNM+YdN;o!L;f&pxizMi&(RTm6Wg%8sr9ozKQ8?(Wphmnn~fOb8(;9F`->BY?obm6GJj z>GfJ+hq<@;ZOS6R#C(GBxiPl1cY4>OD^rX)OUy0JQ5FFnt8VtD&Tj_Jdt+vLIZ4>b zaC`nH#lTV}RAc+)u15|Le-J0Nnq03pgtjt+BQ?0WIX*Brm%?EzpvNh={w#! fP^fD(8kF-dxQ$&M)+v*X00000NkvXXu0mjfzzzS6 literal 0 HcmV?d00001 diff --git a/assets/characters/dragon/dragon_thumb.png b/assets/characters/dragon/dragon_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..09a632aeef1c587616b8410b24fa50fc0bd7df45 GIT binary patch literal 1080 zcmV-81jqY{P)u_};=42vZXOOxFg zj>QdGOX6*?v3@T-@ku4}tOZaMJ0!`3b)FVn{_zk+E(lmjF0yND$J=8udOgiluRh1TVLbh; z2hW_C#bV+w#FtXs*CV_QzR`A+TJ!9RJ#zneGev+f{Wchpsr~PF7@=Hs%9hHo9j?tSW2^2z^+&KVRU2=7K;tNH7Y;N|>khhu5E&QVNH&0%|4$Utf~- zy}XtMHv#wN7f5q!3*zx8^hhvw>kCK{{+W$oEbuq#FYU*UmtMoRhQ|jT2Tb5Zg`h&#l1YRDL40=XILSHzl*;UCHk(kjFanJdRPH;13Q*V`g$P{@vXj|f zQVgD$cp1_+X)N{twa<59Q==E@bP|eUV-={>S%&gGReCPr^zozMiNwp$FMYqG`Q~9% z`)V*A7-rQ+Pa|jfdJO*YCstN8B$pqdy6FXEbt~aitW+Tqw(sr4W}lx`q4-P`Q=_BM zN^04E&VA3XoiKqjl^dI3vpEpDHjdEQFHrQ5 z{!MH?8oGlXj-LMy?oJ_OwHgsg#=*{ZCPx3=7&rwZka!!UppYaPCRxFO_AVmn%@83l zWsG^Tmv|f0y{*@KM1E!Ws|^K3-Oe^37xq9j8b&6q!sTzm(D{B`9~gwynh#COASWWQ zVS|UI%$f83EN33fO{2WF9MPExWOW3bW`(-_Er>+!V18kGZNAJ|gUCb}8P=g@v4DIF yMLa&qJ|()60Zcxgk0+)e%NF*XR3H$5JO2WRuT<<`=qxk<0000v$!dgG2O)Bhl=Q@fil()GA9K= zK^%T@7RK=Pi__7q9aweUP^Q&%Wv?u06HT%;OPe%pr`?j=dym{JD3VXY3EblO!R2z! zf#*5@d!F;0=Ujlp;cz${4u`|xa5x+ehr{7;I2_J@grEc*+4~@s?Gi+Rpxhy0@QYgr z-bt0j7h!Git>;^5U5yipN&yO3ECd1p-upO)$+=nP{sh(r(@Qz{{O#~}2GAY|z#{?5$(+O-BWOQ}5;0z(Caaw8Wk32EGfPK3jrHfVxK6eVMc5K7j zV;LOj-w$$Z90f(8pPfEWOdCQk?P#F2-c@*_wE(9q;*G%|Ug>SZz~C>ad%%mvHT7uo zR8i9k(A?{BBQ$NCzCBO(;MuKq96u9-!|B8`+sdG78k#q+!^Fi4%tR1YhF<7>oaz(Y z-Il||LKC{y-}~42xf@pKc~#F$YBGp-ho+hMX0`%jV?peBIEQ6bgr;dlK63d2J~|u6(c>qH=>$+}G2W6S z;`Ws^1}=}FKCs2;bJ%Uz+r0)F1$x@;ILgW?7z$7o1)13l2KpbtXtV-~qQWYP$Yipp ztgL{;TMa^hq2V9E5`mSWuf9DCPxvN=Z@Lf)M?tBcGBs3HRidLR4&?J#zE{B4mvev_ zSD>S#(}?S8n@nv)fFxS5uBp*DXhuRVY_7Y7Y$}Fma)xOsLBN>T_q0%Vxr}^H!IvX3 zyxO+`HmiVwqT#uBel~wGx1q%gJ=nvM6l_j6Mk8g$#iqNNZRnKjK47u@Wm2>dym;_{ zvBdi3ee>8AtOx;`MvdPoPMe6n1BVFFXRixV$jT5P=vPTf@%ibf(blt(&cJJa)~-q; zAQDd_^6MN{`!^YFpJx_<)eBh2-bE=8SsQ$)*^6tT8Jzs)f)O)Qi6xAq24!jzrWQ~w z+33OjEtvXk4%g%VeC@WT3Q**5@mg_-Z7Km}R*FmEc}SvwWN7j4{>iC%$W{v^u{4{Q c!}-7SCwHV(+k>F~lmGw#07*qoM6N<$f+Jf24*&oF literal 0 HcmV?d00001 diff --git a/assets/characters/elf/elf_thumb.png b/assets/characters/elf/elf_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9bf2ef20446a94d12f6cf9acf3b3b19e3a05510e GIT binary patch literal 1127 zcmV-t1ep7YP)bqP17_@(=<)fG)>bqP5Yk&eV}a17-`1)h;tjHBznl7eVmH=P@nWAR3|*O zEmuA~D2bkkjg%6%Y2Y#hmSoxZ8Fb#XINj7CR4*Up1w;kLuHekQHz?m&z}b0oc)D~CE(22g#Yxr6 zr%yan@Vv}kJVBQ4m?W#O|12kbI#V|HoO5E&zLTrG08?eM%^!`ByL`#)oE)S%6k^)q zr5xF`nJFJEA?cy}oLy&FFj<~yZHmpW(AID&S1K=)6!a1tyN1IHpI~m$8hm~qMXxPH zS~l{wVb`-AUYE=!{IghLA7G(w0wzi3L@$nH;{>MLMQHjkr%edK z@{C^6Rus_?YNER*9D4=0-2$)AOMIMQ>ii74Zbm5o_B0=_A45~9gNpN=gu`Lp+`N`U z>-H#n_k^lM1A|HOWZfb12ISzw!j^*0S=mlooZmy~>_nOef5^q^YI2^+7cn;jRwP1m z>vhU2=QDBpHSAuCB#%jZLmLSx0gl--c}xf{>|TvZhN?t+4(>y2SjD)nYPnif>l|jH zpVdHWke{ZS;1+ascJaxV^{6D2W&=_@Ug;4A!CAveA3D$(qPA--Y@L|QfM74dQM*M< z7jSSxj!aDUV~4{O6jpHfhbj2uO>TBu__Mx=-6Q2K!?Pac!9fG)?y>Ro3ov1O3nRBQ z($wXnFBqy5x=ojJ^|%cdEGxVn&z<%icSQk~Z99J=f(dS3FMMA_H!&f=jEK9V0GA=0 zlh~^Tzx*4Cp3UI+(V6rGQ+2}gzt!NjdwF0)CMOP*@Wn_M1JmN^Xl~@Ln1ScA2RpN{ z`#_1aW=>Uxm{c5M@BT}~bO9-DkF3}=Syr9B#NmqnMmu-Z{p`w5q@y!JOfR8?ILZE! tD|kHy`*zmejvp$kbM}E~T+=j^`x{kBg>Cyfb*umY002ovPDHLkV1j^ABaZ+8 literal 0 HcmV?d00001 diff --git a/assets/characters/human/human_thumb.png b/assets/characters/human/human_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..fffa74e3d05fe7fcecf55051da1754d9c36d62e3 GIT binary patch literal 1109 zcmV-b1giUqP)}E-sH~1ne(4B zbLN~28jVJy(P%UpjYgxQ!QvV>?PdO~CdY9(Z7?l8Y}vLRJNuEz@adM_xZHxa3c<%nzc@dwS9zhAg+&~FmZeN2C6LJJ_dhpE$8AUlOh7c#q%&-Ho_F#8t5k;Pa^|$bVtV~M;0pd`*`rF zU9_+Mj9A|gGyGmwES=7i%~fje*I%i;7SLE#tyVVlvun%4EUEJoXsROFQcQJi8Skxa zBpBOIQ+cJMB7{?hN~cd#U%XsLZBs2r4_#)_(lV@s#r2yR+S}@wGJPhgv77waJHVqK zc8a`2W<`j5U-U;xPT8u_U zN!+z~U|EpXrb_1D8$e2kjl{6-B(Y_NOe)Ri@3)e70-k;CFh@H_@%g>j;|Bin!dxw+ zQ22|B=sVj_L1_smI>NmAaVY-;+&9C=);Cvj=tMNP+Jon>A(X;!2`+~Ext&Z>BT9H_ z-6~wl%D;>3$33re?Od36EXAo`yO2_{b!Q0E1eYl=Tn5iS=fRd1bL#5}cmM9lypBac zVv~-Jk+ub0p%gzIyu}o^Vo`&ax>6I5OOd*5<<3F#L(B3n0;VA-Ul73KHCVo67HYAg zA{ZccJ3+9qi~~PhK-o59y?uPJ?SRNT0d^)s*Rcz{@%Suew^U+h6z-{0NnIT$bmltm zYW8@E0rUTWSb*UO}R;C6otC85oEX?FnPwO<{PPE$W1$*0MLU z$E!TTV8_}Z4foGQ7=n?=5ZxzYWULIEk6jjdUCga$u3-JD+5CKJlovN0;Zh_;oMPey z%5mo>L_kBGFBjO1lsvO>JyP1a)F~&XpTThfIX{KMG+n&=(GGzSxd!LEU#>Gb1Q^+u zz%%9V2@Dg{G+F&vki2gxE2jEY)_H-X=W-%9mRSfH>c=BEUXZXrt<)XytI8PIX`cy7tBM&sPGpp3pqlDv+iJa|kpEPSolJL00000NkvXXu0mjfL39af literal 0 HcmV?d00001 diff --git a/assets/characters/undead/undead_thumb.png b/assets/characters/undead/undead_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0fe9107216699563266952107998d3da807a7c8b GIT binary patch literal 1011 zcmVRZHxo6JIE+7bkAP9mW2!bF8f*=TjAPB<$M34m!Z);(Bc}_@FLY~`=b6pQSX1m{k;_x;&zY+k$NC31vz*w0 zBY_&EQmF;wvENQ08wl@!&5!P4uNDnq!_iR2_}KVZZge4&SuR88PvgIm@d-p{HSX)l zyaTRlT+1X!9OwIcGsc?(P0)3nb$)Y_*fxQ+_itn+r7n~$y=}o<>C#ebzi;*xvI{dY zV#}L&v0sBaq{8i9v|#S}r}o1z40!HXfivA*%ytQE*mNJ$G!6IEZ^h`P%=$OIdFT}| z#!y~Sj+fdxV7mkce(b?5RSh7NSy%d*eNUv1pML3qkuuQ!S_i_x5UQ%H?U%sVOq^`l z^bp1)k&Nd6Aq0m%YDXv-!tA?S(eciwSi=6Y-%WhoVlVUgJUDao1C%%jWJN;a_NsIe zd5&f9KKlu@$w?%&g#8jw6atsa1-FAhTT_o&T|?p7U*T(f1o8M)Ohw0$OeFC7fxYV?s9i`T=Wx7}B7AwA>#GC-XB#)~ zWFAjG5=jjs-+zX?Tb_gBa6q4*$Dz0P+y5u!%GIl|tgOs>7C0AqF+9?Z{=t)wWbR8@ zxJQ+wf2z{_N8+&;|Lr&g`1-wr$cY4)VOU?@>2jfU&t7779+Rw-+(>{>0)rV)zx~iU zH(%gPO)u<2P9!iI4nrLd;f7mltn($FN|aw;gDbHZvO(q@@TOI((cjyLFMjB}9)u*za0gGN$3tom hisDFjCqWRv)!zZISvoLk;mH61002ovPDHLkV1hG1=_&vK literal 0 HcmV?d00001 diff --git a/world.html b/world.html index 74a3820..01bb233 100644 --- a/world.html +++ b/world.html @@ -751,7 +751,7 @@ body { background: #0a0e17; overflow: hidden; font-family: 'Microsoft YaHei', sa .mv-cell.active { background: rgba(255,213,79,.14); border-color: #ffd54f; box-shadow: 0 0 10px rgba(255,213,79,.45); } .mv-cell .mv-ico { font-size: 30px; line-height: 1; pointer-events: none; } .mv-cell .mv-ico-img { width: 44px; height: 44px; object-fit: contain; pointer-events: none; border-radius: 6px; } -.mv-cell .mv-ico-char { width: 44px; height: 44px; background-repeat: no-repeat; background-position: center 0; background-size: auto 100%; pointer-events: none; border-radius: 6px; image-rendering: pixelated; } +.mv-cell .mv-ico-char { width: 44px; height: 44px; background-repeat: no-repeat; background-position: 0 0; background-size: auto 100%; pointer-events: none; border-radius: 6px; image-rendering: pixelated; } .mv-cell .mv-nm { font-size: 11px; color: #9fb3c8; pointer-events: none; } .mv-cost { font-size: 10px; color: #ffd54f; pointer-events: none; font-weight: 600; } .mv-cost.free { color: #7fdca0; } @@ -7663,8 +7663,17 @@ function microRenderBuildPanel() { const items = visibleInCat(microBuildCat); gridEl.innerHTML = items.length ? items.map(it => { let ico; - if (it.isChar && it.sprite) { - ico = `
`; + if (it.isChar) { + // 生物卡片:优先用 thumb(单帧图标),避免精灵表(288×64 六帧横排)在 44×44 容器里露出多帧 + const thumb = it.icon; + const hasThumb = typeof thumb === 'string' && /\.(png|webp|jpg|jpeg)(\?.*)?$/i.test(thumb); + if (hasThumb) { + ico = ``; + } else { + // 无 thumb 时用精灵表第一帧:精灵表 288×64(6帧×48),容器 44×44 + // background-size 按高度缩放 + background-position 锚定左上角只露第1帧 + ico = `
`; + } } else { const isImg = typeof it.icon === 'string' && /\.(png|webp|jpg|jpeg)(\?.*)?$/i.test(it.icon); ico = isImg ? `` : `${it.icon}`;