2014-07-27 68 views

回答

38

Resources.Load將搜索Assets/Resources中的目錄。

如果你想把它放到Sprites目錄下,然後把它放在Resources(例如Assets/Resources/Sprites)。

然後,你可以加載它是這樣的:

Sprite myFruit = Resources.Load <Sprite> ("Sprites/Graphics_3"); 

另外,還要確保你設置你的圖像類型的檢查雪碧。

如果要加載多個精靈,使用此:

Sprite[] myFruit = Resources.LoadAll <Sprite> ("Sprites/Graphics_3"); 

詳情請參閱this

+0

如果我加載一個精靈,它的工作!但我測試了多個精靈,它沒有工作,並且場景暫停了! –

+0

我已經編輯了我的答案,也許這就是你想要的 –

+0

謝謝你,我正在嘗試它! –

0

您需要輸入資產的完整路徑。在這種情況下,請嘗試使用路徑「Sprites/Graphics_3」。

3

廣場awesome.pngAssets/Resources/(你可以有子文件夾),並使用:

GetComponent<SpriteRenderer>().sprite = 
    Resources.Load<Sprite>("awesome"); // No file extension. 

http://docs.unity3d.com/ScriptReference/Resources.html

還有LoadAll「加載所有資產路徑的文件夾或文件中的一個資源文件夾「。

0
Sprite sp = Resources.LoadAll<Sprite> ("Sprites/AI-Avtar") [2] as Sprite; 
0

Resources.Load在目錄中搜索 「資產/資源」 這就是爲什麼你需要做的

_sprites = Resources.LoadAll<Sprite>(spritesPath); 

_sprites = Resources.Load<Sprite>(spritesPath); 

與spritesPath爲相對路徑。 如果您需要從文件夾「Assets/Resources/Sprites」中加載所有文件,則只需要編寫「Sprites」。

在這之後你可以做到以下幾點:

var sprite = sprites[0]; 

var sprite = _sprites.Where(a => a.name == "Sprite_Name_Needed").First(); 
0

統一的腳本參考不說,你需要Load後馬上寫<Sprite>。所以我有加載精靈的問題,雖然我的精靈在Resources目錄中。