Unity3d失去獲取焦點(diǎn),暫停-創(chuàng)新互聯(lián)

目前在用tolua進(jìn)行項目開發(fā),C#與lua交互的部分消息使用了注冊監(jiān)聽處理,監(jiān)聽方法均放到Update方法里面進(jìn)行處理,問題在于失去焦點(diǎn)后Update方法將不繼續(xù)執(zhí)行,這就導(dǎo)致了監(jiān)聽方法未能及時調(diào)用。

創(chuàng)新互聯(lián)致力于網(wǎng)站制作、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!

   例如:AB玩家進(jìn)行紙牌游戲,A接到電話并失去焦點(diǎn),Update不執(zhí)行導(dǎo)致消息未能及時通知服務(wù)器,此時B未能及時收到A的狀態(tài)誤以為A還在打牌狀態(tài)。

   此外Android Plugins中的UnityPlayer.UnitySendMessage,經(jīng)測試在強(qiáng)制暫停時,OnPause、OnStop周期中UnitySendMessage無效。(個人未測)

   故要特殊處理這兩個方法,現(xiàn)改成C#直接調(diào)用lua方法,去掉監(jiān)聽推送這一步。

   C#:
   /// <summary>
    /// 當(dāng)程序獲得或者是去焦點(diǎn)時
    /// </summary>
    /// <param name="focus"></param>
    public void OnApplicationFocus(bool focus)
    {
        try
        {
            LuaManager.CallFunc_Void("MineMessageCenter.OnApplicationFocus", focus);
        }
        catch (System.Exception)
        {
            
            throw;
        }

        //Debug.logger.Log("焦點(diǎn):" + focus);
        //if (focus)
        //{
        //    MessageCenter.GetInstance().PostEvent(EventNameDefine.GetFocusEvent);
        //}
        //else
        //{
        //    MessageCenter.GetInstance().PostEvent(EventNameDefine.LostFocusEvent);
        //}
    }
    
       /// <summary>
    /// 當(dāng)程序暫停
    /// </summary>
    /// <param name="focus"></param>
    public void OnApplicationPause(bool isPause)
    {
        try
        {
            LuaManager.CallFunc_Void("MineMessageCenter.OnApplicationPause", isPause);
        }
        catch (System.Exception)
        {

            throw;
        }
       
        //Debug.logger.Log("暫停:" + isPause);
        //if (isPause)
        //{
        //    MessageCenter.GetInstance().PostEvent(EventNameDefine.GetPauseEvent);
        //}
        //else
        //{
        //    MessageCenter.GetInstance().PostEvent(EventNameDefine.LostPauseEvent);
        //}
    }
Lua:
--當(dāng)程序獲得或者是去焦點(diǎn)時
function MineMessageCenter.OnApplicationFocus(focus)
print("焦點(diǎn):"..tostring(focus));
end 

--當(dāng)程序暫停
function MineMessageCenter.OnApplicationPause(isPause)
--print("暫停:"..tostring(isPause));
end

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:Unity3d失去獲取焦點(diǎn),暫停-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://bm7419.com/article42/gdehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)用戶體驗、手機(jī)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化