Unity 编写类似神庙逃亡手势
时间:2015-05-14 18:47:48
收藏:0
阅读:220
1、首先我们先定义一个枚举,用来表示手势滑动的四个方向:
<span style="font-size:14px;">public enum TouchDirection
{
Unkown,
Left,
Right,
Up,
Down
}</span>2、定义类:TouchInput
<span style="font-size:14px;">public class TouchInput : MonoBehaviour {
public static TouchInput instance;
private Vector2 touchBeginPos;
private Vector2 touchEndPos;
}
</span>3、对instance进行初始化:
<span style="font-size:14px;">void Start () {
Init();
}
void Init()
{
if (instance == null)
{
instance = this;
}
}</span>4、编写根据Touch计算滑动方向:
<span style="font-size:14px;">public TouchDirection GetTouchMoveDirection()
{
if (Input.touchCount > 0)
{
TouchDirection dir = TouchDirection.Unkown;
if (Input.touches[0].phase != TouchPhase.Canceled)
{
switch (Input.touches[0].phase)
{
case TouchPhase.Began:
touchBeginPos = Input.touches[0].position;
break;
case TouchPhase.Ended:
touchEndPos = Input.touches[0].position;
if (Mathf.Abs(touchBeginPos.x - touchEndPos.x) > Mathf.Abs(touchBeginPos.y - touchEndPos.y))
{
if (touchBeginPos.x > touchEndPos.x)
{
dir = TouchDirection.Left;
}
else
{
dir = TouchDirection.Right;
}
}
else
{
if (touchBeginPos.y > touchEndPos.y)
{
dir = TouchDirection.Down;
}
else
{
dir = TouchDirection.Up;
}
}
break;
}
}
return dir;
}
else
{
return TouchDirection.Unkown;
}
}</span>5、使用方法:
首先,我们必须把我们写好的TouchInput脚本挂在物体上实例,在需要用到的地方应用:
void Update () {
TouchInputTest();
}
void TouchInputTest()
{
switch (TouchInput.instance.GetTouchMoveDirection())
{
case TouchDirection.Up:
Debug.Log("Up");
break;
case TouchDirection.Down:
Debug.Log("Down");
break;
case TouchDirection.Left:
Debug.Log("Left");
break;
case TouchDirection.Right:
Debug.Log("Right");
break;
}
}这样不论在什么地方,只要我们需要,我们就可以实例TouchInput.instance,进而拿到我们的滑动方向。
评论(0)