2016-09-14 49 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); 

这应该解决您的问题。