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

Posted luguoshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGUI中 鼠标划出屏幕后,停止对 UIDragScrollView 的 press相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

NGUI研究之3D模型坐标转2D屏幕坐标-血条

jQuery鼠标划入划出

为啥鼠标不能超过电脑屏幕的左,上边界,而能够超过

jQuery鼠标划入划出

关于Unity中NGUI图片精灵响应鼠标的方法

JS实现穿墙效果(判断鼠标划入划出的方向)