码迷,mamicode.com
首页 > 编程语言 > 详细

Unity 编写类似神庙逃亡手势

时间:2015-05-14 18:47:48      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:unity   手势   神庙逃亡   

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,进而拿到我们的滑动方向。


Unity 编写类似神庙逃亡手势

标签:unity   手势   神庙逃亡   

原文地址:http://blog.csdn.net/u014076894/article/details/45722879

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!