国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 如何使用協程等待加載完成

這篇具有很好參考價值的文章主要介紹了Unity 如何使用協程等待加載完成。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

  • 今天在項目打包后遇到一個bug
  • 項目在電腦上跑沒問題,但是在手機端時,由于手機較差的性能,導致異步加載的資源需要等待較長的時間.
  • 而我在一個地方本以為是同步加載的資源,但是在調用時發(fā)現本該被加載完成的資源加載失敗,
  • 大佬查看過底層實現后給出結論:這個資源使用了異步的加載方式,這就導致了我后面的訪問越界.
  • 我的解決辦法是通過開啟協程,等待資源加載完畢

不太了解協程的同學可以點擊這里: 協程簡介和常用方法文章來源地址http://www.zghlxwxcb.cn/news/detail-596983.html

主要邏輯

  • 資源加載未完成時,后面的邏輯可以使用協程來進行等待
  • 比如我這里異步創(chuàng)建5個對象
	for (int i = 0; i < 5; i++)
	{
	    // 異步創(chuàng)建對象5個
	}
  • 那么在這段循環(huán)之后的代碼,都需要考慮被創(chuàng)建的5個對象是否會被調用
  • 如果需要被調用,則開啟協程等待
	異步加載方法 (string name , Action<GameObject> action)
	{
		//...
	}
	Coroutine cor = null;
	void func()
	{
		List<GameObject> list = new List<GameObject>();
		for (int i = 0; i < 5; ++i)
	    {
	       異步加載方法 (str , (gO) =>
	       {
	           list.Add(gO);
	       });
	    }	
	    //開啟協程等待
	    cor = StartCoroutine(SendData(list));
	}
    IEnumerator SendData(List<GameObject> list)
    {
    	//等待list的元素個數達到5個
        while (list.Count != 5) yield return null;
        //處理邏輯
    }
  • 由于協程不會自動被關閉,所以即使銷毀了這個頁面時協程仍然會執(zhí)行
  • 通常的處理方式是將協程存儲下來,如果不需要再次加載,那么就直接將它銷毀即可

到了這里,關于Unity 如何使用協程等待加載完成的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 爬蟲學習(13):selenium自動化測試(二):等待頁面加載完成

    在上一篇已經講過了大部分的知識點和實戰(zhàn),本篇主要內容為知識點回顧和多個元素的定位知識點補充,以及補充頁面加載知識點和案例。 在一個頁面中有很多不同的策略可以定位一個元素。在你的項目中,你可以選擇最合適的方法去查找元素。Selenium提供了下列的方法給你

    2024年02月06日
    瀏覽(36)
  • unity如何解決協程開啟頻繁導致的程序卡頓

    協程并不會在Unity中開辟新的線程來執(zhí)行,其執(zhí)行仍然發(fā)生在主線程中。當我們有較為耗時的操作時,可以將該操作分散到幾幀或者幾秒內完成,而不用在一幀內等這個操作完成后再執(zhí)行其他操作。 unity中協程在start前需要判斷其是否開啟了,否則協程會不斷疊加 解決方式一

    2024年02月09日
    瀏覽(31)
  • Unity中協程(IEnumerator)的使用

    Unity中協程(IEnumerator)的使用

    目錄 一、問題的出現 二、協程(IEnumerator)的使用方式 1、協程的開啟 2、yield return 3、協程的終止 三、問題的解決 今天在學unity的時候,想要給角色添加一個大力藥水,撿到之后增加力量,把敵人砍滴飛起。效果實現了,但是問題也來了:這藥水效果一直存在,砍誰都是一刀斬

    2024年02月04日
    瀏覽(54)
  • [游戲開發(fā)][Unity]Assetbundle打包與資源加載框架

    我會分三個篇章寫整個框架分別是: AB打包篇 AB下載篇 AB加載篇 整個框架內容比較多,屬于企業(yè)級方案,涉及到增量打包、打包策略、AB包下載、邊玩邊下、資源管理系統,資源加載系統等功能。 Unity小白看本系列文章可能比較吃力。如果我哪里寫的不好,影響理解了,歡迎

    2024年02月13日
    瀏覽(34)
  • [游戲開發(fā)][Unity] ScriptableObject數據創(chuàng)建與各種加載方式

    [游戲開發(fā)][Unity] ScriptableObject數據創(chuàng)建與各種加載方式

    ??前言 ScriptableObject支持把類對象數據序列化成Unity asset文件,同時支持反序列化成類對象。本文章通過兩個案例講解ScriptableObject的使用方式,第一個是簡單案例,序列化簡單的bool值和Sting數據。第二個是復雜案例,在類對象里嵌套類對象并序列化成asset文件,再把它反序列

    2024年04月16日
    瀏覽(47)
  • 教你如何使用Unity制作一個簡單的跑酷游戲

    教你如何使用Unity制作一個簡單的跑酷游戲

    其實用Unity制作游戲并不難,如果你想學習,那我就建議你想從制作一個簡單的跑酷游戲來找到興趣,因為如果你一開始就一直學習一些沒什么必要的語法,這樣就會讓你一開始就失去了信心,失去了學習Unity的動力,所以如果你先學習如何制作一個簡單的跑酷地圖,然后你就

    2024年02月04日
    瀏覽(28)
  • 【unity】C#協程IEnumerator的使用(下)

    在Unity中,使用協程可以很方便地實現延時執(zhí)行,即在一定的時間后執(zhí)行某個代碼塊。例如,我們可

    2024年02月01日
    瀏覽(20)
  • 項目實訓--Unity多人游戲開發(fā)(十一、PUN框架--游戲場景篇(加載與同步))

    項目實訓--Unity多人游戲開發(fā)(十一、PUN框架--游戲場景篇(加載與同步))

    本地加載 有許多方法,舉幾個例子: 本地加載 本地異步加載(場景內容過多時,防止卡頓異步加載) 多人游戲加載場景 pun2插件加載 這個異步加載起初是覺得場景內容如果過多會引起卡頓。所以把這個應用在了單機模式上。 至于多人游戲加載場景,可能用不到而且也沒法

    2024年02月01日
    瀏覽(107)
  • 【Unity3D日常開發(fā)】Unity3D中協程的使用

    【Unity3D日常開發(fā)】Unity3D中協程的使用

    推薦閱讀 CSDN主頁 GitHub開源地址 Unity3D插件分享 簡書地址 我的個人博客 大家好,我是佛系工程師 ☆恬靜的小魔龍☆ ,不定時更新Unity開發(fā)技巧,覺得有用記得一鍵三連哦。 最近有小伙伴問協程怎么用、怎么寫,我也是會用會寫,但是原理不是很明白。 學習了一下,總結出

    2024年02月12日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包