• 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
    }
    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    [LeetCode] 39. Combination Sum 组合之和
    CSS3
    常见中文字体在CSS中的Unicode编码(宋体:5B8B4F53)
    List<Object> 使用Linq
    查看工作流详情页面
    java程序调用.net接口服务地址的写法
    C# Repeater 嵌套
    JavaScript刷新页面,不重复提交
    Migration-添加表(加外键)
    Migration-添加表
  • 原文地址:https://www.cnblogs.com/plateFace/p/4202316.html
Copyright © 2020-2023  润新知