From 7e49baf5992166ce1a565a9faac54c94d4dcf7d5 Mon Sep 17 00:00:00 2001 From: ModZero Date: Fri, 13 May 2022 01:13:09 +0200 Subject: [PATCH] Add camera movement --- .idea/compilerexplorer.settings.xml | 2 ++ src/main.rs | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/.idea/compilerexplorer.settings.xml b/.idea/compilerexplorer.settings.xml index 707edaf..3ed88e5 100644 --- a/.idea/compilerexplorer.settings.xml +++ b/.idea/compilerexplorer.settings.xml @@ -1,6 +1,8 @@ + \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 17943ed..956f7cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +use bevy::input::mouse::MouseMotion; use bevy::prelude::*; use bevy_ecs_tilemap::prelude::*; @@ -34,6 +35,21 @@ fn startup(mut commands: Commands, asset_server: Res, mut map_query .insert(GlobalTransform::default()); } +fn mouse_motion( + mut motion_evr: EventReader, + buttons: Res>, + mut query: Query<(&mut Transform, &mut OrthographicProjection), With>, +) { + if buttons.pressed(MouseButton::Middle) { + for ev in motion_evr.iter() { + for (mut transform, mut _ortho) in query.iter_mut() { + let direction = Vec3::new(ev.delta.x, ev.delta.y * -1.0, 0.0); + transform.translation += direction; + } + } + } +} + fn main() { App::new() .insert_resource(WindowDescriptor { @@ -46,5 +62,6 @@ fn main() { .add_plugin(TilemapPlugin) .add_startup_system(startup) .add_system(helpers::texture::set_texture_filters_to_nearest) + .add_system(mouse_motion) .run(); }