Last Updated on 2021-10-31 by Clay
之前我一直都是使用 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
這樣才能正常運作。