Fix: apply thrust input properly
All checks were successful
Basic checks / Basic build-and-test supertask (push) Successful in 7m11s

Yay for funny coordinate spaces. I was, again, using the wrong
operations to get the 2D Cartesian angle and apply force to the ship.
This commit is contained in:
2025-08-09 16:25:19 -05:00
parent 6191fde25a
commit dea8a0dc1a

View File

@@ -249,13 +249,12 @@ fn input_ship_thruster(
panic!("There should be exactly one player ship! Instead, there seems to be {count}.");
};
let rotation = transform.rotation;
let thrusters = children
.first()
.expect("Couldn't find first child, which should be the thruster");
if keyboard_input.pressed(KeyCode::KeyW) {
velocity.0 += Vec2::from_angle(rotation.z) * SHIP_THRUST;
velocity.0 += (transform.rotation * Vec3::X).xy() * SHIP_THRUST;
commands
.entity(*thrusters)
.insert(MeshMaterial2d(game_assets.thruster_mat_active()));