Godot Version
4.4
Question
`Hi all, i’m new in game dev, i’m wonder how to implement strafe movement according to mouse position? Currently my character moves by WASD rotating to the movement direction. I want to “turn on” strafe when I press right mouse button.
I use node based state machine
here my move node code:
extends State
@export var dash_state: State
@export var idle_state: State
@export var strafe_state: State
func process_input(event: InputEvent) → State:
return null
func process_physics(delta: float) → State:
var movement = get_movement_input() * move_speed
var target_angle = movement.angle()
if movement !=Vector2.ZERO:
parent.rotation = lerp_angle(parent.rotation, target_angle, delta * 5.0)
parent.move_and_slide()
parent.velocity = movement
if movement == Vector2.ZERO:
return idle_state
return self
`