未分配的参考例外,Unity

时间:2016-09-14 19:50:05

标签: c# unity3d

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:尚未分配Bullet的变量RIPEnemy

     

您可能需要在检查器中分配Bullet脚本的RIPEnemy变量。

RIPEnemy是粒子效应

为什么呢?当敌人被击中时,这很容易 - >粒子 - > RIP Enemy - > RIP粒子。我在论坛中搜索过,但我不明白我的错误在哪里

2 个答案:

答案 0 :(得分:3)

查看您的代码我相信,假设您在检查器或代码中指定了 RIPEnemigo ,那么该行

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

应该是

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

那应该解决你的问题。

答案 1 :(得分:0)

检查脚本没有附加到层次结构中的任何其他游戏对象,也没有复制。 预制件在一个脚本的实例中分配,但不在另一个脚本实例中