Improve mouse movement on the map #95

Merged
raphael merged 2 commits from upgrade-mouse-movement into main 2024-04-01 13:49:05 +00:00
Showing only changes of commit d02087f84e - Show all commits

View file

@ -107,7 +107,7 @@ fn keyboard_movement_system(
/// Moves the camera with mouse input. /// Moves the camera with mouse input.
fn mouse_movement_system( fn mouse_movement_system(
mouse_button_input: Res<Input<MouseButton>>, mouse_button_input: Res<Input<MouseButton>>,
mut query: Query<&mut Transform, With<Camera>>, mut query: Query<(&mut Transform, &OrthographicProjection), With<Camera>>,
windows: Query<&Window>, windows: Query<&Window>,
mut last_position: Local<Option<Vec2>>, mut last_position: Local<Option<Vec2>>,
) { ) {
@ -125,9 +125,9 @@ fn mouse_movement_system(
} }
if let Some(old_position) = *last_position { if let Some(old_position) = *last_position {
for mut transform in query.iter_mut() { for (mut transform, projection) in query.iter_mut() {
let offset = (old_position - position).extend(0.0) * Vec3::new(1., -1., 1.); let offset = (old_position - position).extend(0.0) * Vec3::new(1., -1., 1.);
transform.translation += offset; transform.translation += offset * projection.scale.sqrt();
} }
*last_position = Some(position); *last_position = Some(position);
} }