2016-09-14 24 views
0
public GameObject RIPEnemigo;   

void Rekt() 
{ 
    GameObject RIP = (GameObject)Instantiate(RIPEnemy, transform.position, transform.rotation); //Instantiate of the particles 
    Destroy(gameObject); //Destroys enemy 
    Destroy(RIP, 2f); //Destroys particles 
} 

我加入了顆粒預製,一切都在檢查是確定的,但它說:未分配引用異常,團結

UnassignedReferenceException:子彈的變量RIPEnemy尚未分配

你可能需要在檢查器中分配Bullet腳本的RIPEnemy變量。

RIPEnemy是一個粒子效果

爲什麼?當敵人被擊中時很容易 - >粒子 - > RIP敵人 - > RIP粒子。我搜索的論壇,但我不明白的地方是我的錯誤

+0

'RIPEnemy'究竟是什麼?你看過檢查員,並確保你將一個GameObject拖到它上面嗎? – Serlite

+0

檢查員的一切都很好,謝謝。 RIPEnemy是一個粒子效應 – Mario

+1

您可能在調用'Instantiate'之前需要一個賦值。類似於'RIPEnemy = new ParticleEffect();'(或者其他類型的東西)。沒有堆棧跟蹤以及實際類型'RIPEnemy'是什麼,雖然這裏沒有人能爲你解答。 – Igor

回答

2

看你的代碼,我相信,假設你在檢查或者代碼分配RIPEnemigo,行

GameObject RIP = (GameObject)Instantiate(RIPEnemy, transform.position, transform.rotation); 

應該是

GameObject RIP = (GameObject)Instantiate(RIPEnemigo, transform.position, transform.rotation); 

這應該解決您的問題。