Пример #1
0
    public static Vector3 CalcMovement(float _speed, float _delta, CollChecker _forward, CollChecker _right,
                                       CollChecker _back, CollChecker _left)
    {
        Vector3 _camForward = Camera.main.transform.forward;

        _camForward = new Vector3(_camForward.x, 0, _camForward.z).normalized;
        Vector3 _camRight = Camera.main.transform.right;

        _camRight = new Vector3(_camRight.x, 0, _camRight.z).normalized;
        Vector3 _input = new Vector3();

        if (Input.GetKey(KeyCode.W) && !_forward.IsBlocked)
        {
            _input.z += 1;
        }
        if (Input.GetKey(KeyCode.A) && !_left.IsBlocked)
        {
            _input.x -= 1;
        }
        if (Input.GetKey(KeyCode.S) && !_back.IsBlocked)
        {
            _input.z -= 1;
        }
        if (Input.GetKey(KeyCode.D) && !_right.IsBlocked)
        {
            _input.x += 1;
        }
        _camForward *= _input.z;
        _camRight   *= _input.x;
        return((_camRight + _camForward) * _speed * _delta);
    }
Пример #2
0
 public PlayerColl(Transform _swivelTrans, CollChecker forward, CollChecker right, CollChecker back, CollChecker left)
 {
     _trans   = new GameObject().transform;
     _trans   = _swivelTrans;
     _forward = forward;
     _right   = right;
     _back    = back;
     _left    = left;
 }