首页 > 编程语言 > 详细

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

时间:2015-01-04 22:38:13      阅读:340      评论:0      收藏:0      [点我收藏+]

最近写了一个跑酷游戏,总结下里面的知识点: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 手指触摸的方向(单手)

原文:http://www.cnblogs.com/plateFace/p/4202316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!