示例#1
0
        /************************************************************************************************************************/

        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);
            }
        }
示例#2
0
        /************************************************************************************************************************/

        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);
            }
        }