generated from tipragot/rust
Fix speed movement of camera by adding delta time #114
|
@ -75,7 +75,7 @@ fn init_resources_for_camera(mut commands: Commands) {
|
|||
left: KeyCode::Q,
|
||||
});
|
||||
|
||||
commands.insert_resource(CameraSpeedMouvement(10.0));
|
||||
commands.insert_resource(CameraSpeedMouvement(400.0));
|
||||
commands.insert_resource(CameraSpeedScale(0.1));
|
||||
commands.insert_resource(MinimumScale(0.1));
|
||||
commands.insert_resource(MaximumScale(10.0));
|
||||
|
@ -87,15 +87,24 @@ fn keyboard_movement_system(
|
|||
keys: Res<Input<KeyCode>>,
|
||||
keys_settings: Res<KeysMovementSettings>,
|
||||
movement_speed: Res<CameraSpeedMouvement>,
|
||||
delta_time: Res<Time>,
|
||||
) {
|
||||
for mut transform in query.iter_mut() {
|
||||
let mut target = Vec3::ZERO;
|
||||
for key in keys.get_pressed() {
|
||||
match *key {
|
||||
value if value == keys_settings.up => target.y += movement_speed.0,
|
||||
value if value == keys_settings.down => target.y -= movement_speed.0,
|
||||
value if value == keys_settings.right => target.x += movement_speed.0,
|
||||
value if value == keys_settings.left => target.x -= movement_speed.0,
|
||||
value if value == keys_settings.up => {
|
||||
target.y += movement_speed.0 * delta_time.delta_seconds()
|
||||
}
|
||||
value if value == keys_settings.down => {
|
||||
target.y -= movement_speed.0 * delta_time.delta_seconds()
|
||||
}
|
||||
value if value == keys_settings.right => {
|
||||
target.x += movement_speed.0 * delta_time.delta_seconds()
|
||||
}
|
||||
value if value == keys_settings.left => {
|
||||
target.x -= movement_speed.0 * delta_time.delta_seconds()
|
||||
}
|
||||
_ => continue,
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue