3
我使用這個卸載紋理時我不再需要的預製(是一個彈出):Unity3D - NGUI - 如何卸載加載預製件的紋理?
UISprite[] widgets = gameObject.GetComponentsInChildren<UISprite>(true);
for (int i = 0, imax = widgets.Length; i < imax; i++)
{
UISprite w = widgets[i];
Debug.Log ("Removing: " + w.gameObject.name);
if (w.mainTexture)
{
Debug.Log ("Removing: " + w.mainTexture.name);
Resources.UnloadAsset(w.mainTexture);
}
}
這是工作,我可以看到,因爲Texture2Ds未顯示在剖析了後卸載。但問題是,當我再次實例化彈出窗口時,精靈顯示爲白色框。因此,在文檔中說明時,它們不會在需要時重新加載:如果場景中的遊戲對象有任何引用,並且正在使用該資源,那麼只要Unity被訪問,Unity就會從磁盤重新加載資產。
我做錯了什麼?
它有幫助嗎?如果是,請隨時通過點擊左側的勾號來接受答案 –