コード例 #1
0
    public void OnDrag(PointerEventData data)
    {
        if (Input.touchCount <= 1)
        {
            Vector2 drag = new Vector2(data.delta.x * -20 / Screen.width, data.delta.y * -20 / Screen.height);

            /*if (zoom >= 0)
             *      CameraView.Move (drag / (1 + zoom));
             * else
             *      CameraView.Move (drag * (1 - zoom));*/
            CameraView.Move(drag * zoomCoef);
            dragDelta += data.delta.magnitude / Screen.dpi;
        }
        else
        {
            Vector2 a = Input.GetTouch(0).position;
            Vector2 b = Input.GetTouch(1).position;
            float   z = new Vector2((a.x - b.x) * 12 / Screen.width, (a.y - b.y) * 12 / Screen.height).magnitude;

            if (prevDist != 0)
            {
                Zoom((z - prevDist) * 2);
            }
            prevDist = z;
        }
    }
コード例 #2
0
    void Zoom(float d)
    {
        float prev = zoomCoef;

        zoom = zoom + d;
        CameraView.Move(d * prev);
    }
コード例 #3
0
 public void Update(float deltaTime)
 {
     _cameraView.Move();
 }