diff --git a/Scripts/Entities/Player.cs b/Scripts/Entities/Player.cs index 890efa5..5d1badd 100644 --- a/Scripts/Entities/Player.cs +++ b/Scripts/Entities/Player.cs @@ -6,21 +6,24 @@ namespace AceFieldNewHorizon.Scripts.Entities; public partial class Player : CharacterBody2D { [Export] public float Speed = 400.0f; + [Export] public float RotationSpeed = 3.0f; public override void _Process(double delta) { // Get direction to mouse and calculate angle var mousePos = GetGlobalMousePosition(); var direction = GlobalPosition.DirectionTo(mousePos); - Rotation = direction.Angle() + (float)Math.PI / 2; + Rotation = direction.Angle(); } public override void _PhysicsProcess(double delta) { // Get movement input - var inputDirection = Input.GetVector("move_left", "move_right", "move_up", "move_down"); - Velocity = inputDirection * Speed; - + var moveForward = Input.GetActionStrength("move_up") - Input.GetActionStrength("move_down"); + + // Calculate movement direction based on rotation + Velocity = Vector2.Right.Rotated(Rotation) * moveForward * Speed; + MoveAndSlide(); } } \ No newline at end of file