generated from tipragot/rust
Fix speed movement of camera by adding delta time #114
|
@ -90,26 +90,20 @@ fn keyboard_movement_system(
|
||||||
delta_time: Res<Time>,
|
delta_time: Res<Time>,
|
||||||
) {
|
) {
|
||||||
for mut transform in query.iter_mut() {
|
for mut transform in query.iter_mut() {
|
||||||
let mut target = Vec3::ZERO;
|
let mut dx = 0.0;
|
||||||
|
let mut dy = 0.0;
|
||||||
for key in keys.get_pressed() {
|
for key in keys.get_pressed() {
|
||||||
match *key {
|
match *key {
|
||||||
value if value == keys_settings.up => {
|
up if up == keys_settings.up => dy += movement_speed.0,
|
||||||
target.y += movement_speed.0 * delta_time.delta_seconds()
|
down if down == keys_settings.down => dy -= movement_speed.0,
|
||||||
}
|
right if right == keys_settings.right => dx += movement_speed.0,
|
||||||
value if value == keys_settings.down => {
|
left if left == keys_settings.left => dx -= movement_speed.0,
|
||||||
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,
|
_ => continue,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transform.translation += target;
|
transform.translation.x += dx * delta_time.delta_seconds();
|
||||||
|
transform.translation.y += dy * delta_time.delta_seconds();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue