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; } }
void Zoom(float d) { float prev = zoomCoef; zoom = zoom + d; CameraView.Move(d * prev); }
public void Update(float deltaTime) { _cameraView.Move(); }