Fix: apply steering input properly
The ship in Asteroids isn't expected to spin up while holding a steering direction, but that's exactly what I just made it do. Fix that problem by assigning, not accumulating, the angular velocity for the ship.
This commit is contained in:
@@ -13,6 +13,6 @@ pub(crate) const ASTEROID_SMALL_COLOR: Color = Color::srgb(1.0, 0., 0.);
|
||||
// TODO: asteroid medium & large
|
||||
|
||||
pub(crate) const SHIP_THRUST: f32 = 1.0;
|
||||
pub(crate) const SHIP_ROTATION: f32 = 0.1; // +/- rotation speed in... radians per frame
|
||||
pub(crate) const SHIP_ROTATION: f32 = 4.0; // +/- rotation speed in... radians per frame
|
||||
|
||||
pub const RNG_SEED: [u8; 32] = *b"12345678909876543210123456789098";
|
||||
|
||||
@@ -280,9 +280,11 @@ fn input_ship_rotation(
|
||||
};
|
||||
|
||||
if keyboard_input.pressed(KeyCode::KeyA) {
|
||||
angular_vel.0 += SHIP_ROTATION;
|
||||
angular_vel.0 = SHIP_ROTATION;
|
||||
} else if keyboard_input.pressed(KeyCode::KeyD) {
|
||||
angular_vel.0 -= SHIP_ROTATION;
|
||||
angular_vel.0 = -SHIP_ROTATION;
|
||||
} else {
|
||||
angular_vel.0 = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
use crate::{
|
||||
physics::{Velocity, Wrapping}, AngularVelocity, GameAssets
|
||||
AngularVelocity, GameAssets,
|
||||
physics::{Velocity, Wrapping},
|
||||
};
|
||||
|
||||
use bevy::prelude::*;
|
||||
|
||||
Reference in New Issue
Block a user