55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
|
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
|
|||
|
}
|
|||
|
}
|
|||
|
}
|