/************************************************************************************************************************/ private void Update() { _Movement = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); if (_Movement != default) { _Facing = _Movement; UpdateMovementState(); // Snap the movement to the exact directions we have animations for. // When using DirectionalAnimationSets this means the character will only move up/right/down/left. // But DirectionalAnimationSet8s will allow diagonal movement as well. _Movement = _CurrentAnimationSet.Snap(_Movement); _Movement = Vector2.ClampMagnitude(_Movement, 1); } else { Play(_Idle); } }
/************************************************************************************************************************/ private void Update() { //根据水平或垂直的朝向来判断移动方向 _Movement = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); if (_Movement != Vector2.zero) { _Facing = _Movement; UpdateMovementState(); // 捕捉动画移动的确切距离. // 当使用DirectionalAnimationSets时,这意味着字符将只向上/向右/向下/向左移动. // 但是DirectionalAnimationSets也允许对角移动. _Movement = _CurrentAnimationSet.Snap(_Movement); _Movement = Vector2.ClampMagnitude(_Movement, 1); } else { Play(_Idle); } }