97超碰碰碰_91热播_91国产免费视频_91视频合集_国产精品白丝jk白祙_国产精品久免费的黄网站

您現(xiàn)在所在的位置:首頁 >關于奇酷 > 行業(yè)動態(tài) > 鄭州unity3d培訓 UGUI長按監(jiān)測的兩種方法

鄭州unity3d培訓 UGUI長按監(jiān)測的兩種方法

來源:奇酷教育 發(fā)表于:

鄭州unity3d培訓 UGUI長按監(jiān)測的兩種方法,奇酷(www qikuedu com)老師總結(jié)兩種辦法如下: 簡單的demo,隨便建幾個UI,把

        鄭州unity3d培訓 UGUI長按監(jiān)測的兩種方法,奇酷(www.jjcctdl.cn)老師總結(jié)兩種辦法如下:
        簡單的demo,隨便建幾個UI,把腳本拖到任意物體,按1秒鐘后有響應事件。以下腳本可避免ScrollView失效,以及重疊UI穿透選擇。
鄭州unity3d培訓,Z???VR1VJ" src="http://uploadfile.qikuedu.com/2019/0319/20190319110022305.jpg" style="width: 480px; height: 270px;" />
方法一:使用EventSystems,適合場景中簡單的UI操作
using UnityEngine;
using UnityEngine.EventSystems;
 
public class RyanPressTest : MonoBehaviour {
        Vector3 lastMousePose;
    EventSystem m_EventSystem;
        float curT = 0;
        // 是否已經(jīng)被選擇
        bool isPressed = false;
        void Start(){
        m_EventSystem = FindObjectOfType();
        }
        void Update () {
                if(Input.GetMouseButtonDown(0)){
                        lastMousePose = Input.mousePosition;
                }
        if (Input.GetMouseButton(0) && !isPressed && lastMousePose == Input.mousePosition)
        {
                        curT += Time.deltaTime;
                        // 長按1秒
                        if(curT >= 1f){
                    Debug.Log(m_EventSystem.currentSelectedGameObject + " was pressed.");
                                isPressed = true;
                        }
        }
                if(Input.GetMouseButtonUp(0)){
                        isPressed = false;
                        curT = 0;
                }
        }
}
 
方法二:使用射線,適用于鼠標一下選擇多個UI的復雜場景
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
 
public class RyanPressTest : MonoBehaviour {
        Vector3 lastMousePose;
    GraphicRaycaster m_Raycaster;
    PointerEventData m_PointerEventData;
        float curT = 0;
        // 是否已經(jīng)被選擇
        bool isPressed = false;
        void Start(){
        m_Raycaster = FindObjectOfType ();
        }
        void Update () {
                if(Input.GetMouseButtonDown(0)){
                        lastMousePose = Input.mousePosition;
                }
        if (Input.GetMouseButton(0) && !isPressed && lastMousePose == Input.mousePosition)
        {
                        curT += Time.deltaTime;
            m_PointerEventData = new PointerEventData(null);
                        m_PointerEventData.position = lastMousePose;
 
            List results = new List();
            m_Raycaster.Raycast(m_PointerEventData, results);
                        // 長按1秒
                        if(results.Count > 0 && curT >= 1f){
                                // 當有多個重疊UI,results會返回所有被射線穿透的UI數(shù)組,一般我們只需要最上面的那個UI
                    Debug.Log(results[0].gameObject + " was pressed.");
                                isPressed = true;
                        }
        }
                if(Input.GetMouseButtonUp(0)){
                        isPressed = false;
                        curT = 0;
                }
        }
}
 
其實EventTrigger也能監(jiān)測長按,但用了它ScrollView就失效了,還是用上面兩種方法比較通。
51La 主站蜘蛛池模板: 久久一级毛片 | 精品无码人妻一区二区免费蜜桃 | 无码乱肉视频免费大全合集 | 97涩涩涩 | 四虎视频国产精品免费 | 亚洲精品久久久久久久久久ty | 厨房掀起裙子从后面进去视频 | www久久精品| 九九精品在线观看 | 一区二区视频在线观看免费的 | 日日日日日日bbbbb视频 | 伊人久久久综在合线久久在播 | 成年视频xxxxx在线入口 | 国产av巨作丝袜秘书 | 色综合天天综合网国产成人网 | 西西大胆午夜人体视频 | 中文字幕日本亚洲欧美不卡 | 天天摸夜添狠狠添高 | 夜夜澡天天碰人人爱av | 欧美国产综合欧美视频 | 久久毛片免费看一区二区三区 | 免费看美女被靠到爽的视频 | 九九色影院 | 天天射影院 | 成人影视大全 | 亚洲综合激情五月色播 | 国产综合精品久久久久成人影 | 伊人久久综合精品无码av专区 | 欧美性猛交99久久久久99 | 欧美成人鲁丝片在线观看 | 欧美性a爱片 | 野狼第一精品社区 | 中文字幕一区精品欧美 | 五月花在线观看播放视频 | 全免费a级毛片免费看视频免 | 毛片手机在线视频免费观看 | 精品久久久久久国产免费了 | 情侣作爱视频网站 | 日本一级特黄完整大片 | 欧美精品综合一区二区三区 | 99亚洲精品久久久99 |