示例#1
0
    public void SetFingerPos(Vector2 pos)
    {
        if (first)
        {
            first   = false;
            lastPos = pos;
            initPos = pos;
            SetPos(pos);
        }
        else
        {
            //根据手指位置调整
            var diff = pos - initPos;
            var dir  = pos - lastPos;
            lastPos = pos;

            //手指在中心半径范围内 50半径 相反运动
            var mag      = diff.magnitude;
            var external = this.con.ExternalRadius * LeftController.GetRate();
            //手指在圆环外面 跟随手指移动
            if (mag > external)
            {
                //initPos += dir;
                var fingerDir = pos - initPos;
                var distOff   = fingerDir.normalized * external;
                initPos = pos - distOff;
                SetPos(initPos);
            }
        }
    }