From e42586384a5fab0c00e4b89b3b4c2e70541b0261 Mon Sep 17 00:00:00 2001 From: Elias Stepanik Date: Tue, 22 Oct 2024 23:19:16 +0200 Subject: [PATCH] Working --- assets/fonts/minecraft_font.ttf | Bin 0 -> 15700 bytes src/components/player.rs | 73 ++++++++++++++++++++++ src/components/tilemap.rs | 83 +++++++++++++++++++++++++ src/components/ui.rs | 50 +++++++++++++++ src/components/world.rs | 106 ++++++++++++++++++++++++++++++++ 5 files changed, 312 insertions(+) create mode 100644 assets/fonts/minecraft_font.ttf create mode 100644 src/components/player.rs create mode 100644 src/components/tilemap.rs create mode 100644 src/components/ui.rs create mode 100644 src/components/world.rs diff --git a/assets/fonts/minecraft_font.ttf b/assets/fonts/minecraft_font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..61b4610bd20cd58a9782bd5e1cc8f217a9858f30 GIT binary patch literal 15700 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 g Self { + Player { speed, position } + } +} + +pub fn setup(mut commands: Commands) { + // Setup camera + info!("Adding Camera"); + commands.spawn(Camera2dBundle { + transform: Transform { + scale: Vec3::splat(0.5), // Zoom in by reducing the scale (smaller scale means a larger view) + ..default() + }, + ..default() + }); + + + // Setup player with initial position + info!("Spawning player"); + commands.spawn(( + Player::new(500.0, Vec3::new(0.0, 0.0, 0.0)), // Initial player speed and position + Transform::from_translation(Vec3::new(0.0, 0.0, 0.0)), + GlobalTransform::default(), + )); +} + +pub fn update_movement( + keyboard_input: Res>, + time: Res