Files
2026-10-15 16:56:45 +08:00

19 lines
632 B
GDScript

extends PlayerGroundState
## 原地蹲:目标速度 0,播 crouch(蹲着不动)。
## 蹲着走是 Sneak —— 两者只差「有没有方向输入」,转换事件同为 move_start/stop。
func _enter() -> void:
var player := get_agent() as Player
player.motor.target_speed = 0.0
player.motor.sprinting = false
player.motor.crouching = true
player.animation_player.play_state(PlayerAnimator.AnimState.CROUCH)
func _think(_delta: float) -> void:
var player := get_agent() as Player
if not Input.is_action_pressed("crouch"):
dispatch(&"crouch_end")
elif player.motor.has_move_input():
dispatch(&"move_start")