首页 > 代码库 > Unity 手指触摸的方向(单手)

Unity 手指触摸的方向(单手)

最近写了一个跑酷游戏,总结下里面的知识点:O(∩_∩)O~

using UnityEngine;using System.Collections;public class Demo : MonoBehaviour{    public Vector3 lastMonseDown;    /// <summary>    /// 判断手指触摸的方向    /// </summary>    /// <returns></returns>    TouchDir GetTouchDir()    {        //记录第一次手指点击的坐标点        if (Input.GetMouseButtonDown(0))        {            lastMonseDown = Input.mousePosition;        }        //UICamera.hoveredObject防止NGUI点击穿透问题        if (Input.GetMouseButtonUp(0) && UICamera.hoveredObject == null)        {            //结束坐标-开始坐标            Vector3 mouseUp = Input.mousePosition;            Vector3 touchOffset = mouseUp - lastMonseDown;            //滑动超过50像素,算一次正确的滑动            if (Mathf.Abs(touchOffset.x) > 50 || Mathf.Abs(touchOffset.y) > 50)            {                if (Mathf.Abs(touchOffset.x) > Mathf.Abs(touchOffset.y) && touchOffset.x > 0)                {                    return TouchDir.Right;                }                else if (Mathf.Abs(touchOffset.x) > Mathf.Abs(touchOffset.y) && touchOffset.x < 0)                {                    return TouchDir.Left;                }                else if (Mathf.Abs(touchOffset.x) < Mathf.Abs(touchOffset.y) && touchOffset.y > 0)                {                    return TouchDir.Top;                }                else if (Mathf.Abs(touchOffset.x) < Mathf.Abs(touchOffset.y) && touchOffset.y < 0)                {                    return TouchDir.Bottom;                }            }            else            {                return TouchDir.None;            }        }        return TouchDir.None;    }}/// <summary>/// 触摸的方向/// </summary>public enum TouchDir{    None,    Left,    Right,    Top,    Bottom}

Unity 手指触摸的方向(单手)