From efc8fcc6eb07cb7c2a767ee46f678b450ea2b101 Mon Sep 17 00:00:00 2001 From: eri Date: Fri, 19 Jul 2024 19:07:12 +0200 Subject: [PATCH] feat: movement --- src/main.rs | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index b1e0aeb..24db0ce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,13 +1,20 @@ -use bevy::prelude::*; +use bevy::{prelude::*, window::WindowResolution}; use kenney_jam::{ assets::SpriteAssets, input::{Action, ActionState}, AppConfig, GamePlugin, GameState, }; +const GAME_RES: Vec2 = Vec2::new(256., 192.); +const SCALE: f32 = 3.; + fn main() { App::new() - .insert_resource(AppConfig::default()) + .insert_resource(AppConfig { + game_title: "Kenney Jam", + initial_window_res: (GAME_RES * SCALE).into(), + initial_game_res: GAME_RES, + }) .add_plugins(GamePlugin) .add_systems( OnEnter(GameState::Play), @@ -34,7 +41,7 @@ struct Player; fn init(mut cmd: Commands, sprite_assets: Res) { cmd.spawn(( SpriteBundle { - transform: Transform::from_scale(Vec3::splat(3.0)), + transform: Transform::from_scale(Vec3::splat(SCALE as f32)), texture: sprite_assets.one_bit.clone(), ..default() }, @@ -54,10 +61,12 @@ fn update_player( let Ok(mut trans) = player.get_single_mut() else { return }; let Ok(input) = input.get_single() else { return }; - let axis = input.clamped_axis_pair(&Action::Move); - // TODO: Proper movement - let dir = axis.unwrap_or_default().x(); - trans.translation.x += dir * 1000. * time.delta_seconds(); - let dir = axis.unwrap_or_default().y(); - trans.translation.y += dir * 1000. * time.delta_seconds(); + if input.just_pressed(&Action::Move) { + let Some(axis) = input.clamped_axis_pair(&Action::Move) else { return }; + if axis.x().abs() > axis.y().abs() { + trans.translation.x += axis.x().signum() * SCALE * 16.; + } else { + trans.translation.y += axis.y().signum() * SCALE * 16.; + } + }; }