Unity3d 滑动事件--向上、向下、向左、向右(PC好用但是手机滑动不是很理想)

方法写在OnGUI里!!! 脚本挂在空节点就可以了!

// touchSecond.y > touchFirst.y && touchSecond.x ==touchFirst.x  多加了一个判断是因为滑动过程中总会误判

    private Vector2 touchFirst = Vector2.zero; //手指开始按下的位置
    private Vector2 touchSecond = Vector2.zero; //手指拖动的位置

    void Start() 
    {
        
    }
    void OnGUI() 
    {
        
        if (Event.current.type != null && Event.current.type == EventType.MouseDown)//判断当前手指是按下事件
        {
            touchFirst = Event.current.mousePosition;//记录开始按下的位置
        }
        if (Event.current.type != null && Event.current.type == EventType.MouseDrag) 
            //判断当前手指是拖动事件
        {
            touchSecond = Event.current.mousePosition;

            if (touchSecond.y > touchFirst.y && touchSecond.x ==touchFirst.x)
                //拖动的位置比按下的位置y大  (向下滑动)
            {
                DownShow(); // 执行方法自己定义
            }
            else if (touchSecond.y < touchFirst.y && touchSecond.x == touchFirst.x)
                //拖动的位置比按下的位置y小  (向上滑动)
            {
                UpShow();// 执行方法自己定义,

            }
            else if (touchSecond.x > touchFirst.x && touchSecond.y == touchFirst.y)
                //拖动的位置比按下的位置x大  (向右滑动)
            {
                 RightShow();// 执行方法自己定义,

            }
            else if (touchSecond.x < touchFirst.x && touchSecond.y == touchFirst.y)
                //拖动的位置比按下的位置x小  (向左滑动)
            {
                LeftShow();// 执行方法自己定义,

            }
            touchFirst = touchSecond; //初始化位置
        }
    } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值