Files
XRLib/Assets/Shapes2D/Demos/DragCamera.cs
2025-08-12 12:54:51 +09:00

40 lines
1012 B
C#

namespace Shapes2D {
using UnityEngine;
using System.Collections;
public class DragCamera : MonoBehaviour {
Vector3 anchor;
Vector3 origin;
bool dragging;
bool zoomed;
float lastClick;
void LateUpdate () {
if (Input.GetMouseButtonDown(0)) {
float time = Time.time;
if (time - lastClick < 0.3f) {
zoomed = !zoomed;
if (zoomed)
Camera.main.orthographicSize = 1;
else
Camera.main.orthographicSize = 7.35f;
}
lastClick = time;
dragging = true;
anchor = Input.mousePosition;
origin = Camera.main.transform.position;
}
if (Input.GetMouseButtonUp(0)) {
dragging = false;
}
if (dragging) {
Vector3 delta = Camera.main.ScreenToWorldPoint(Input.mousePosition - anchor
- new Vector3(-Screen.width / 2, -Screen.height / 2, Camera.main.transform.position.z))
- new Vector3(Camera.main.transform.position.x, Camera.main.transform.position.y, 0);
Camera.main.transform.position = origin - delta;
}
}
}
}