12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using UnityEngine;
- using UnityEngine.EventSystems;
- using System.Collections;
- using System.Linq;
- namespace OpenCVForUnityExample
- {
- public class TouchController : MonoBehaviour
- {
- public GameObject Cube;
- public float Speed = 0.1f;
- void Update ()
- {
- #if ((UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR)
- //Touch
- int touchCount = Input.touchCount;
-
- if (touchCount == 1)
- {
- Touch t = Input.GetTouch (0);
- if (EventSystem.current.IsPointerOverGameObject (t.fingerId))
- return;
-
- switch (t.phase)
- {
- case TouchPhase.Moved:
-
- float xAngle = t.deltaPosition.y * Speed;
- float yAngle = -t.deltaPosition.x * Speed;
- float zAngle = 0;
-
- Cube.transform.Rotate (xAngle, yAngle, zAngle, Space.World);
-
- break;
- }
- }
- #else
- //Mouse
- if (Input.GetMouseButton (0)) {
- if (EventSystem.current.IsPointerOverGameObject ())
- return;
-
- float xAngle = Input.GetAxis ("Mouse Y") * Speed * 80;
- float yAngle = -Input.GetAxis ("Mouse X") * Speed * 80;
- float zAngle = 0;
-
- Cube.transform.Rotate (xAngle, yAngle, zAngle, Space.World);
- }
- #endif
- }
- }
- }
|