亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

unity打包webgl程序和js鍵盤監聽事件沖突的問題。

發布時間:2020-06-16 17:37:57 來源:網絡 閱讀:1844 作者:GuangYao_Li 欄目:游戲開發

最近用unity發布webgl程序時,出現了一個挺蛋疼的問題就是,webgl里面的程序他會接受js的鍵盤監聽事件,這樣就導致了webgl程序可以使用出入框,讓后js程序的輸入框就無效了,為了解決這個問題,我也找了一些資料,不過看了以后感覺大部分不能用,后來通過自己研究總結得出了下面的代碼,親測可用,廢話不多說,直接上代碼。

  //初始化頁面禁用unity的鍵盤監聽事件。
        function hackWebGLKeyboard(str) {
             RemoveEventClick( );
        }
          //給unity鍵盤添加監聽事件
        function AddEventClick(){
             for (var i in JSEvents.eventHandlers) {
                var event = JSEvents.eventHandlers[i];
                if (event.eventTypeString == 'keydown' || event.eventTypeString == 'keypress' || event.eventTypeString == 'keyup') {
                   window.addEventListener(event.eventTypeString, event.eventListenerFunc, event.useCapture);
                }
            }
        }
        //移除unity鍵盤監聽事件
        function RemoveEventClick( ){
             for (var i in JSEvents.eventHandlers) {
                var event = JSEvents.eventHandlers[i];
                if (event.eventTypeString == 'keydown' || event.eventTypeString == 'keypress' || event.eventTypeString == 'keyup') {
                  window.removeEventListener(event.eventTypeString, event.eventListenerFunc, event.useCapture);
                }
            }
        }
        //判斷當前是否點擊到了unity的畫布
     document.addEventListener('click', function(e) {
        if (e.target.id == "canvas") {
            AddEventClick();
        } else {
            RemoveEventClick();
        }

這段代碼的原理就是在webgl程序開始啟動的時候先把webgl的鍵盤監聽事件給注銷掉,后面在判斷鼠標觸摸的是webgl界面還是js界面,來啟用和禁用webgl的鍵盤監聽事件。

需要源碼的朋友可以給我留言。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄山市| 余江县| 临清市| 普兰店市| 嵊州市| 金坛市| 大同市| 历史| 石阡县| 日照市| 普兰店市| 石渠县| 万安县| 临泽县| 嘉善县| 新田县| 武强县| 汶川县| 武川县| 崇仁县| 宁南县| 台江县| 青铜峡市| 吴江市| 建阳市| 大冶市| 吉水县| 峡江县| 白山市| 沽源县| 万源市| 浦北县| 泰兴市| 和平区| 威远县| 舞钢市| 射阳县| 常宁市| 萨迦县| 安吉县| 苍梧县|