码迷,mamicode.com
首页 > 其他好文 > 详细

NGUI中 鼠标划出屏幕后,停止对 UIDragScrollView 的 press

时间:2018-09-29 13:05:23      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:cat   div   layer   Edito   sep   raycast   start   ast   date()   

using UnityEngine;

/// <summary>
/// NGUI中 鼠标划出屏幕后,停止对 UIDragScrollView 的 press
/// </summary>
public class CheckIsDragOverUI : MonoBehaviour
{
    UIDragScrollView dragSV = null;

    void Start()
    {
        if (null == dragSV)
            dragSV = gameObject.GetComponent<UIDragScrollView>();
    }

    bool isPressing = false;
    void Update()
    {
        if (RuntimePlatform.WindowsEditor == Application.platform || RuntimePlatform.WindowsPlayer == Application.platform)
        {
            if (isPressing)
            {
                if (null != dragSV && null != dragSV.scrollView)
                {
                    //判断鼠标是否划出了屏幕
                    Vector3 mousePostion = Input.mousePosition;
                    GameObject hoverobject = UICamera.Raycast(mousePostion) ? UICamera.lastHit.collider.gameObject : null;
                    if (null == hoverobject)
                    {
                        isPressing = false;
                        dragSV.scrollView.Press(false);
                    }
                }
            }
        }
    }

    void OnPress(bool pressed)
    {
        isPressing = pressed;
    }
}

 

NGUI中 鼠标划出屏幕后,停止对 UIDragScrollView 的 press

标签:cat   div   layer   Edito   sep   raycast   start   ast   date()   

原文地址:https://www.cnblogs.com/luguoshuai/p/9722940.html

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