From b3e1359c637db4a92f09f07bd3409b549fc72dda Mon Sep 17 00:00:00 2001 From: Crizomb Date: Sun, 28 Dec 2025 21:07:03 +0100 Subject: [PATCH] sprite sheet --- assets/sprites/Sprite_kirby-Sheet.png | Bin 0 -> 1839 bytes assets/sprites/bubble.png | Bin 0 -> 180 bytes assets/sprites/kirby_item.png | Bin 0 -> 204 bytes assets/sprites/shield.png | Bin 0 -> 193 bytes assets/sprites/speed.png | Bin 0 -> 181 bytes src/animation.rs | 60 ++++++++++++++++++++++++++ src/box_collider.rs | 7 --- src/{lana.rs => bubble.rs} | 23 ++++------ src/kirby.rs | 42 +++++++++++++++--- src/main.rs | 15 ++++--- 10 files changed, 112 insertions(+), 35 deletions(-) create mode 100644 assets/sprites/Sprite_kirby-Sheet.png create mode 100644 assets/sprites/bubble.png create mode 100644 assets/sprites/kirby_item.png create mode 100644 assets/sprites/shield.png create mode 100644 assets/sprites/speed.png create mode 100644 src/animation.rs delete mode 100644 src/box_collider.rs rename src/{lana.rs => bubble.rs} (71%) diff --git a/assets/sprites/Sprite_kirby-Sheet.png b/assets/sprites/Sprite_kirby-Sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..75ee4bea5b669295b6837d25c527567ffd0e067b GIT binary patch literal 1839 zcmV+~2hjM5P)Px*=}AOERCt{2UB6EoNfdrQ-9O;e6jl(88w+7!xxmtO9MwrzKpLP(buLhfD564C z5fwr@uA(3`IFTZy3D8C23d_joMB@fwZ9(tu+Pxwk=k4tLp0~R`dp;@3dRfo+-ZyW4 z?D{<$ARr(hAQ$Z1KgayJpRy(>3e#i@DC{Ba02NUYm?m3t!_NJ4JS~n-iyaKP*%LZJ zjLg>nh7T(XB^~kq9WN{O82@u^=Vw~8lGwR_j#+2mV+!z252L=aZ59N+HZb1)>L!$% z)yetAlY`jA4j#@OpcCN3%0dY{O*IN!1@N^2^8!GE8vx*G@6gB&1{RRk9Y7rcF1$b> zfGxL-mj|}P#0KLIpb)@y8p=`t86P`lZHRbpF0P=lRDp7{nm87Y5X3m_A2=I5w8 z0Gapz0RR4Z1;74tnmT5fh~KKg`RxPrS2t6^km>+R0oeaV3D7y)hx6M905pPhfq;Wd zH`;aBZPj46Ra3T?n1Wmdh_^Qq$BY~U3!s{tDFooTZ7}K%yoATxtn+c(YoEU)&ZX7> zN&$ESOyDa3g9|qRK<_bvhN17}W)Sz0*H)}i9jiUh!+50>-GB|f9G}}rrf*@ zPfhXW!vu+d8y_3p2bc%|3h}pIzfTOoX%N7M+ZD3lJHLH^#ghXmzwk!PMF1Ru3@+mP z0t>;W!o`fZ8cUTQ$48fmZMbUph>_XTP`nsp0jQsfVi9_e(IgOf0jQpa@?dlO@zJHz z`@K7W7oc;t51sLAelafMbAjDf4c1!U_ue+*52Jo*@#H{y6UuOWbO~?Xy_$3cLuc$i z;~%ap2;VO?=w+p@Bxh>?-vJO2bs0VA27u z!kgHjNEekZKsNZ*NFh65!xR0oTG3a_?2q_CO0(#j|w(QTtt``e&IhoDp6lnMw;$lah0g#pd#?Qx13pB7H)MY|YPyl4(1L^8Ui2>|AimQn>f$XGx!1x5&El}PzSKC+tmrcrv`$gIKmcr z`ky+Xn|EC?>JFfO_t9u)LTy8l+&UYCQxG+|O`BN=P;OR*HM*+nsUd4q*a4z~YaMiR zpG})Z1_0#jzpw*(kCC+zs(BZeXquqt0LasSX=)-E-1eJ*&3$0_cz~q^;sw@~AB)&~ zjEvJ0^YmYv9gTMbF2mS#@#A^fF$F(^iyc|}Z@eqOP#J=w&PDur6w5PrBb zQ0C{)BENNgfavB2gD=&j&d;AU{!kxKFn_2ID40Lg2TUn{KtMo1KtMo1KtMo1K)`Im z`|I6d4sWw5{damk5^4kJ{5O6)3!ye36aTF~k_@#0^!^)tC?9GAvh!b?9UW=|vi09N zJ37<`(D*O?4Vj`-!(k3;13)zbLTx}k{%4+^Zj&00ZP0yfa$~6iFFw76`1mV~x&wIe z=`CC@w}m;HHj8rJ{tL4rs8hq?j;uKV%i;(ZX^k15qNSPb&lN{^%)$t52cg1=7ugr|&w}O1u zuS^`D+5ieWY>Prvy!clIO>MC8U%Cbiqkah&H}F}%r{xCl(*&N6Da5z6gI^DP_!+OL z&_ibfSom*MA0R?|)Js&cQ03;k*a562m#FgrjfDE$N23gATYi#V5Q8W(e4oeI;I!Px zM0^|A@*5YdsX&>VPhm$^Bag2M5W$vLTOVN5U=F$Y*beqX&3QuM zixMm0bTV7a>{gWH&gL^ELr#Xxz-WRbH_wF?OZvD^6te0l2I^}HXLH;;({f%R=B6aW XE-s@jzoT+Nu3_+W^>bP0l+XkKCyzJ0 literal 0 HcmV?d00001 diff --git a/assets/sprites/kirby_item.png b/assets/sprites/kirby_item.png new file mode 100644 index 0000000000000000000000000000000000000000..b9133ad8b0a4c7344c2dd9683810b8f4557fe664 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|+B{txLo9le z6C^SYbhy8>H_Y0|`7b>oA>l{i3#~4N_PJ(ZwkKrPNL^&yq}i2)N-~7GcTz6_qc>{)50G*2VS%CS?4}+ILs9>K~y-|c$byfj0d|npx=y1A{YhyJc6uyOQ9~Q+tB#&+(;#?T$S>K;ZMkWdEKD#?_1g zTmMhwJ+M-8x}rhDWro69W|3Jb%pI&D+%BtjG-!k?-0nNeu%~T7_OVokFy{@K$I=

>u8L`S*Fb<=N~pF$X3+_Dk&<55R;udGx{SZsd%M*ru7DNL#o z3}KTT4ngTe~DWM4fKRHRF literal 0 HcmV?d00001 diff --git a/src/animation.rs b/src/animation.rs new file mode 100644 index 0000000..6d487c7 --- /dev/null +++ b/src/animation.rs @@ -0,0 +1,60 @@ +use bevy::prelude::*; +// Source : https://bevy.org/examples/2d-rendering/sprite-sheet/ + +fn main() { + App::new() + .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest())) // prevents blurry sprites + .add_systems(Startup, setup) + .add_systems(Update, animate_sprite) + .run(); +} + +#[derive(Component)] +pub struct AnimationIndices { + pub first: usize, + pub last: usize, +} + +#[derive(Component, Deref, DerefMut)] +pub struct AnimationTimer(pub Timer); + +pub fn animate_sprite(time: Res