From 4e3ac2d268aeefaa40c7bbc63f0ec53d0ecb97ce Mon Sep 17 00:00:00 2001 From: hheik <4469778+hheik@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:53:46 +0200 Subject: [PATCH] Project init and prototype assets --- Cargo.lock | 22 +++---- Cargo.toml | 2 +- assets/sprites/box.aseprite | Bin 0 -> 546 bytes assets/sprites/box.png | Bin 0 -> 425 bytes assets/sprites/glorb.aseprite | Bin 0 -> 602 bytes assets/sprites/glorb.png | Bin 0 -> 560 bytes assets/sprites/tree.aseprite | Bin 0 -> 1521 bytes assets/sprites/tree.png | Bin 0 -> 1676 bytes assets/sprites/wood.aseprite | Bin 0 -> 545 bytes assets/sprites/wood.png | Bin 0 -> 519 bytes src/debug.rs | 2 +- src/game.rs | 110 ++++++++++++---------------------- src/game_setup.rs | 2 +- 13 files changed, 52 insertions(+), 86 deletions(-) create mode 100644 assets/sprites/box.aseprite create mode 100644 assets/sprites/box.png create mode 100644 assets/sprites/glorb.aseprite create mode 100644 assets/sprites/glorb.png create mode 100644 assets/sprites/tree.aseprite create mode 100644 assets/sprites/tree.png create mode 100644 assets/sprites/wood.aseprite create mode 100644 assets/sprites/wood.png diff --git a/Cargo.lock b/Cargo.lock index cf7f4bf..ab118f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -388,17 +388,6 @@ dependencies = [ "syn", ] -[[package]] -name = "bevy-template" -version = "0.1.0" -dependencies = [ - "bevy", - "bevy-inspector-egui", - "bevy_mod_debugdump", - "bevy_rapier2d", - "num-traits", -] - [[package]] name = "bevy_a11y" version = "0.15.1" @@ -2408,6 +2397,17 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +[[package]] +name = "glorbs" +version = "0.1.0" +dependencies = [ + "bevy", + "bevy-inspector-egui", + "bevy_mod_debugdump", + "bevy_rapier2d", + "num-traits", +] + [[package]] name = "glow" version = "0.14.2" diff --git a/Cargo.toml b/Cargo.toml index fba3fd3..d2856d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "bevy-template" +name = "glorbs" version = "0.1.0" edition = "2021" diff --git a/assets/sprites/box.aseprite b/assets/sprites/box.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..c922ed03f9c23c7dc283dda3db8d1cc39264f770 GIT binary patch literal 546 zcmY#lVqkc%l##&!2o)F@85kH+fEWQZ85lu=3<5w%3$O@i`mc{HU|U&$7Ki~cy8_rs zB0(q{xIwNg=#k!q`f;l>-Q(KnNI_<_8FK@$@9+C5As$q zvaz(cFEL1Hiq3nOJo|tA*(axO|M~y_|LnEfTk6^~v$7(?g36q_))*Px3{SpZy{mt^ zS699P+)_0e*4zL-4nr25auq&4zNV%od5|L%nBgiI82$s<>dPU*cY4JZrE0 z_wU}>C4cN5T>fr(C;r=Wt9$E>Tm7wTZauurH@^&M$Z}b`w;wXwK|*JL-JicweOhOU F6aeU+rThQ@ literal 0 HcmV?d00001 diff --git a/assets/sprites/box.png b/assets/sprites/box.png new file mode 100644 index 0000000000000000000000000000000000000000..797c4c143619e01fc04997615684a11a8d03f4c8 GIT binary patch literal 425 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/tree.png b/assets/sprites/tree.png new file mode 100644 index 0000000000000000000000000000000000000000..906d59b1784ec3d93821c01c1bd01066611c4b50 GIT binary patch literal 1676 zcmV;726Op|P)Px*MoC0LRCt{2oxyG+Hw=cEA_mgj_hvMESoj{G&#--xJXM~=eg*@%FMM!|z4cxP z*Z|W*%B-wP8fr!oNr~SrYtM|v|1XN<$X)=$Fbu;m48t%C!!SnShI;^|xO=>vVz0fv zymfP*rMcxEz#3f9zkK~1ecuVrAMZ0WT%+>CK;cuO$2c9%06;fF?~z5_4XhC#nKJ=7 zvix_R)VZXiYS4F&x6>NoeNKn-m2fR1ixkuhwzT*NnxI8wk%)?c))F5%9nPzS51mho z34Y-oz#OS0tOTXS2Y8PnwZ~lw@df}`7nW1h5FgQE0?`Jj8T#D}z9!O5Ald-6shL-_ zIDZL-G(gSJ?<0LF5Nm+inZNOlSOXYs7|sAK!#^T<85qt0wyaz;oB@n$%m9NU(g0G| z%N`N4BPjF?o+Du!4R!;RcnoVShjj@UMSRJRhuI8(oxYU#U%q~B_RwZjSPYQc<~0-4 zqj^{wt;a7p`~x(O0Hc+67`g5qZzrku-n<|ks5BeIh@qeIodRwni0lMv zhtj~p*SVJl_C`=o;H;)bx{r=0oF}eG(Bz_{h5sdRRSUKR2!U(Uh#5c_txaGC5Cq3E zX$BBR>!rX9FgRv_!Ld%DP+FCR76ArFtpQGlv+WZoKr;ipzP#O(7R;8E^)!zFB}`zu zh0D>@0Njs0jsMd;0@PRvYNKtuIk3&hrDY*k_-}dLmQM!R_5-}WyxrgyDO=C^U@ZgD z9Fqz`Y?gBVRGb%(0XGCy8#gQrd=~gqIMp@5edZ@z$G>VcH7PL*C&zQC`Rj2 zS#2wrgQti4YO~b#1QMw!LX6Yl3{MaD)vnL^^)Zo4K#KkG0`Q4<3{MaD@SM2?JcNWV zhp37G-@gA4(@OsB@AsiBjRq3L2T&LR0DjKE7UiNF{(W*wSc(6|j7kF_TxHq*c)9wU zTEa>Z-9@bdo*wSu`OklvTqi_qIg%)H3RO7(f-|soSr!w&C)63hpLw;)vJu1wP`m`V zlrGCs;_r_aQPs#=)J1?8DB9YxY?PUgbP)j%6z|zF0ktd}O?X6QDBEo}69B*;zyCV> z-c+TKD>^2hJuLw$Bfz)sKW@+jbCjOhJ&6y{Q4U}%!wfJuW`My_Z2-R~Z{(xa0KFw+ zT&S!9N|TBtlu}bOT^k@KY)I7Jg^tm!0Z@Ej*rj9K0}N~c6n%fZ zEHXnc48H`7Cb-YA5ddJ>GSC}p4M5!y6eHFt91XPw09Ys9=)xnz=KwjZjXDxhX#fr( zdW{$=4FFI^5WfT*5!E@s5<;2($kl+l2(TvnyP3Z$wEOpH5kZ{+0P1D`XoQhWpwa-f z8EF|9$^a#V?X474WdQCEzsJa+$^Za;iol5)18~oN7fEATiwXne{2oAUB#faX;te24 ze3xFLfaonwQpE@8=hs3+4&I$z62(V)*d{LSS%BnOA42<=MMMl-%Zv}!zf$6wfHQGy+6Ty4b5kEI^*j_|sU~oD3ZY=JjyQI;s`aUp|J%SeE>CJNQH)N<-%|3VioZ~`9oP%R25Mcmn zComL(DFz6gH`d25WdbdYA=byiIX!`;A80Cb56#TEOn4NC+_C0M@jDe?W+mbQOWVcH!7_4kBg38F+;GSs;bJoh|q=1u7{xX0je)NA_{ z3#BTMymLt8pr~LOnA=2IYXbiqDHE6hDzc`9TG9luF-Yn6rw}=)R+L_fa*s0%cK!uY W3=6OlqJN730000zb#DJJx0c<6b zby+|*3&?c}K!%cniK~W9nx$cXnDzZawVMml-W{Ix`;*zsrvX{}49utGd1vYed8-)N zSlZi{7$h`B=RHiG{XhQflhe2V{Qv)d_S)?&b?up1S&?BuWlmjdjEruECtt7L)j!>< zE8jpKWRn6jkc5H%Kn6R5Phw?ik%HkTAcs|ffk6Z)^dA^>5FpNA#!xZm?Tx*>hYSQ* zADC?MnJ{ZsU<6AlHwsVb+%KT+|;y_yMOM8^-@%xEc$ap;E9e+O7Zra zx0U$a<+tCYy!`66XE#r;_-(w+T)lL^T>8z6yA#)DcIQSGzx6M^c>CMC#e3zfcjp^@ zyJP#)`*-~HiDtRCwq$;eKAErj*7Qcv)K`gzohqNp%&eWfwWRxB`1CnnU;Mv%FFoYG N#rsL$m{PheTmfZZrn>+D literal 0 HcmV?d00001 diff --git a/assets/sprites/wood.png b/assets/sprites/wood.png new file mode 100644 index 0000000000000000000000000000000000000000..bc84930b396dad791d89cbf1c78391fcdc521550 GIT binary patch literal 519 zcmV+i0{H!jP)Px$!AV3xRCt{2n=wj5K@f(2#T2$`nGi^k6Ln-~Ri^TQ)!t1VIq&EeDntn+^wE`u_dn%k=s+ zj;t;;9S*w7^W*Ykx)3t~!e~4J0IXL_co1SLU^JfK`r-xvFkj5Fv28*$MVLiyIvjK_ z5BE4ZJp%x=%_bYK2@zi3KGh_cF9B&>L~M5 zYAG;HK-+A7o2|*HiO@z}K;PO=o2}g!tYnxaKxV)1CJ6jAou@SpYrfmi||AOx@rV6*oE%#X_M!usG8T|nA!+iY-k zdzX!CADO2emX=rRhD+21cx$*sO@P;iOH_(U{~YD5;UEYyz5zYJ$``G~+F}3z002ov JPDHLkV1nis(wzVR literal 0 HcmV?d00001 diff --git a/src/debug.rs b/src/debug.rs index bde06f1..12273ad 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -9,7 +9,7 @@ impl Plugin for DebugPlugin { fn build(&self, app: &mut App) { app.configure_sets(Last, DebugSet.run_if(is_debug_enabled)); - app.insert_resource(DebugMode::on()) + app.insert_resource(DebugMode::off()) .add_plugins(( bevy_inspector_egui::quick::WorldInspectorPlugin::new().run_if(is_debug_enabled), bevy_rapier2d::prelude::RapierDebugRenderPlugin::default(), diff --git a/src/game.rs b/src/game.rs index 06f139b..a36d8ef 100644 --- a/src/game.rs +++ b/src/game.rs @@ -1,5 +1,5 @@ use crate::{debug, game_setup}; -use bevy::prelude::*; +use bevy::{prelude::*, sprite::Anchor}; use bevy_rapier2d::prelude::*; pub fn init(app: &mut App) { @@ -11,20 +11,51 @@ pub fn init(app: &mut App) { app.add_systems(Startup, setup_2d) .add_systems(Update, demo_2d); - - // app.add_systems(Startup, setup_3d) - // .add_systems(Update, demo_3d); } -fn setup_2d(mut commands: Commands) { +fn setup_2d(mut commands: Commands, assets: Res) { commands.spawn(( Name::from("Demo 2D camera"), Camera2d, Transform::from_xyz(0.0, 0.0, 10.0), )); + commands.spawn(( - Name::from("Demo 2D sprite"), - Sprite::sized(Vec2::splat(256.0)), + Name::from("Glorb"), + Transform::from_xyz(-200.0, 0.0, 0.0), + Sprite { + image: assets.load("sprites/glorb.png"), + anchor: Anchor::BottomCenter, + ..default() + }, + )); + + commands.spawn(( + Name::from("Box"), + Transform::from_xyz(-200.0, -150.0, 0.0), + Sprite { + image: assets.load("sprites/box.png"), + anchor: Anchor::Custom(Vec2 { x: 0.0, y: -0.375 }), + ..default() + }, + )); + + commands.spawn(( + Name::from("Wood"), + Sprite { + image: assets.load("sprites/wood.png"), + ..default() + }, + )); + + commands.spawn(( + Name::from("Tree"), + Transform::from_xyz(200.0, 0.0, 0.0), + Sprite { + image: assets.load("sprites/tree.png"), + anchor: Anchor::Custom(Vec2 { x: 0.0, y: -0.375 }), + ..default() + }, )); } @@ -51,68 +82,3 @@ fn demo_2d( } } } - -fn setup_3d( - mut commands: Commands, - mut meshes: ResMut>, - mut materials: ResMut>, -) { - commands.spawn(( - Name::from("Demo 3D camera"), - Camera3d::default(), - Transform::from_xyz(0.0, 0.0, 10.0), - PointLight::default(), - )); - commands.spawn(( - Name::from("Demo 3D cuboid"), - Mesh3d(meshes.add(Cuboid::from_length(1.0))), - MeshMaterial3d(materials.add(Color::from(bevy::color::palettes::css::ORANGE))), - )); -} - -fn demo_3d( - mut camera_query: Query<&mut Transform, With>, - mut mouse_events: EventReader, - mouse_input: Res>, - key_input: Res>, - time: Res