2016-05-23 5 views
0

を削除するが、私は何するかどうかはわかりませんというユニティ私はオブジェクトの配列に追加した後に資産をアンロードしようとしているが、それは私だけ一度に一つを削除することができますというエラーを返すの資産

object[] tempItems = Resources.LoadAll("Inventory/Weapons"); 
foreach (object i in tempItems) 
{ 
    GameObject it = (GameObject)i; 
    Debug.Log(it); 
    itemList.Add(it); 
    Debug.Log(itemList.Count); 
} 


foreach (object i in tempItems) 
{ 
    GameObject it = (GameObject)i; 
    Resources.UnloadAsset(it); 
} 

UnloadAssetは個々の資産に使用することができる、今はまだエラーを取得

UnityEngine.Object[] tempItems = Resources.LoadAll("Inventory/Weapons"); 
    foreach (UnityEngine.Object i in tempItems) 
    { 
     GameObject it = (GameObject)i; 
     Debug.Log(it); 
     itemList.Add(it); 
     Debug.Log(itemList.Count); 
    } 
    foreach (UnityEngine.Object i in tempItems) 
    { 
     Resources.UnloadAsset(i); 
    } 

しかし、イムを使用してゲームオブジェクトの/コンポーネントまたはAssetBundles

イムに使用することはできません

UnloadAsset may only be used on individual assets and can not be used on GameObject's/Components or AssetBundles 

このエラーの行である

 Resources.UnloadAsset(i); 

答えて

0

ObjectないGameObjectをアンロードします。キャストGameObject it = (GameObject)i;Resources.UnloadAsset(it);はまったく必要ありませんし、おそらく問題です。

Object[] tempItems = Resources.LoadAll("Inventory/Weapons",typeof(GameObject)); 
foreach (Object i in tempItems) 
{ 
    GameObject it = (GameObject)i; 
    Debug.Log(it); 
    itemList.Add(it); 
    Debug.Log(itemList.Count); 
} 

foreach (Object i in tempItems) 
{ 
    Resources.UnloadAsset(i); 
} 

大文字の「O」のオブジェクトを使用することをお勧めします。違いはあるが、大文字と小文字を区別するとは思わない。

+0

オブジェクトを大文字で使用すると、互換性エラーが返されます。また、unloadAssetを使用すると、同じエラーが返されます。 – Sniffle6

+0

Objectは 'UnityEngine.Object'と 'object'のあいまいな参照です。 – Sniffle6

+0

@ Sniffle6それをもう一度見てください。エラーが発生した場合は、コード行を書き留めてエラーが発生しています。 – Programmer

関連する問題