Unity3D 资源加载 Resources.Load
????????在unity中,一般聲音、預(yù)制體、材質(zhì)以及其他各種資源的加載都可以使用拖拽的方式,在組件界面里把資源拖進(jìn)去即可。但是有時(shí)我們也會(huì)想要在腳本中加載資源,或者對(duì)資源進(jìn)行統(tǒng)一管理,這時(shí)候我們就可以使用Unity提供的資源加載函數(shù)——Resources.Load。
????????加載資源(返回一個(gè)泛型對(duì)象):var 變量= Resources.Load<T>("Resources文件夾下的文件路徑");
使用注意:
- 使用這種方式加載資源文件時(shí),首先需要在Asset目錄下創(chuàng)建一個(gè)名為Resources的文件夾(可以不在一級(jí)目錄,二級(jí)目錄也可以),所有資源文件都放在該文件夾下,命令中的路徑從?Resources?文件夾處開始寫。
- 用 “/?”表示子文件夾。
- 讀取的文件不要加文件的后綴。
- Load?后?<>?中寫入讀取的類型。
????????舉個(gè)例子,如果我們想要讀取音頻文件?Assets/Resources/Music/1.wav,調(diào)用方法為:
string fileName = "Music/1"; AudioClip clip = Resources.Load<AudioClip>(fileName);? ? ? ? 或者想要加載預(yù)制體Assets/Game/Resources/Prefabs/2.prefab,調(diào)用方法為:
string fileName = "Prefabs/2"; GameObject gameobject = Resources.Load(fileName) as GameObject;????????通常,我們可以將資源路徑新建一個(gè)單獨(dú)的靜態(tài)類,單獨(dú)存儲(chǔ),這樣就可以在所有腳本中調(diào)用它了,如:
public static class MyConst {public const string RESOURCES_PATH = "Prefabs/Bullet";public const string RESOURCES_ASTEROID01_PATH = "Prefabs/Asteroid_01";public const string RESOURCES_ASTEROID02_PATH = "Prefabs/Asteroid_02";public const string RESOURCES_ASTEROID03_PATH = "Prefabs/Asteroid_03";public const string RESOURCES_ENEMY_PATH = "Prefabs/Enemy";public const string RESOURCES_BULLET_ENEMY_PATH = "Prefabs/Bullet_Enemy"; }????????這樣我們?cè)谄渌_本中直接調(diào)用該類中的字符串常量即可加載資源,在日后看代碼的時(shí)候也比較好通過字符串常量的命名知道加載的資源是什么:
GameObject enemy;private void Awake(){enemy = Resources.Load(MyConst.RESOURCES_ENEMY_PATH) as GameObject;}總結(jié)
以上是生活随笔為你收集整理的Unity3D 资源加载 Resources.Load的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Myeclipse下Maven的配置
- 下一篇: 元素不包括_干货 | FDA法规对元素杂