Skip to content

[已解決][Unity] Resources.Load() 總是返回 Null

之前我一直都是使用 Resources.LoadAll<Sprite>() 來建立一整個 Array<Sprite>,但今天在試著優化程式的時,嘗試更改為 Resources.Load<Sprite>() 來讀取特定的 Sprite

但自從改為這樣的讀取方式後,我套用讀取進來的 Sprite 通通變成沒有圖片;即是說,我使用 Resources.Load<Sprite>() 回傳的全部都是 Null

要確認是否真的回傳 Null,直接印出來看即可。


解決方法

參考自文章最底下連結的 stackoverflow 討論,解決方法有兩種。


方法一: 確認你放在 Resources 資料夾的路徑有沒有錯、確認是 Sprite。

資料夾名稱完全不能出錯。也需要注意,Unity 引擎不僅會在 Assets 底下尋找 Resources 資料夾,也會尋找其他資料夾中是否包含著 Resources 資料夾。


方法二: 確認你沒有輸入副檔名

比方說,原先你輸入的圖片名稱為:

mySprite.png


就需要改成:

mySprite


這樣才能正常運作。


References


Read More

Tags:

Leave a Reply