From 889b175daf5661d54063e45e102ad4fba73a7b50 Mon Sep 17 00:00:00 2001 From: luckyturtledev Date: Wed, 10 Jul 2024 17:18:15 +0200 Subject: [PATCH] add player + player movement --- assets/sprites/grass.png | Bin 0 -> 2272 bytes assets/sprites/human.png | Bin 0 -> 16791 bytes src/main.rs | 52 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 assets/sprites/grass.png create mode 100644 assets/sprites/human.png diff --git a/assets/sprites/grass.png b/assets/sprites/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fca5fad0aaef8beb47f469fb031319aca0e8a GIT binary patch literal 2272 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 A0RR91 literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index b331ee4..7215d15 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,5 +3,55 @@ use bevy::prelude::*; fn main() { App::new() .add_plugins(DefaultPlugins) + .add_systems(Startup, spawn_player) + .add_systems(Startup, spawn_camera) + .add_systems(Main, move_player) .run(); -} \ No newline at end of file +} + +const PLAYER_SPEED: f32 = 500.0; + +#[derive(Component)] +struct Player; + +fn spawn_player(mut commands: Commands, asset_server: Res) { + commands.spawn(( + Player, + SpriteBundle { + texture: asset_server.load("sprites/human.png"), + ..Default::default() + }, + )); +} + +fn move_player( + key: Res>, + time: Res