碰撞时发射发射粒子不起作用?

时间:2018-04-19 09:23:39

标签: unity3d

我想要一个粒子系统在发生碰撞时发挥作用,粒子系统是一个爆炸,但它一直在说

“无法修改ParticleSystem.emission的返回值,因为它不是变量”

这是代码。

public Particle explosion;
void Start()
{
    explosion.emission.enabled = false;



    }


private void OnCollisionEnter(Collision collision)
{
   if(collision.gameObject.name == "Cube")
    {
        Destroy(this.gameObject);
        explosion.Play();

        UnityEngine.SceneManagement.SceneManager.LoadScene("GameOver");

    }
}

1 个答案:

答案 0 :(得分:0)

您可以在发生碰撞时实例化游戏对象(Explosions),而不是禁用和启用Explosion。

public Transform Explosion;
private void OnCollisionEnter(Collision collision)
{
   if(collision.gameObject.name == "Cube")
    {
        Destroy(this.gameObject);
        Instantiate(explosion);

        UnityEngine.SceneManagement.SceneManager.LoadScene("GameOver");

    }
}

然而,在烟花之后,你正在改变场景,因此它可能不会显示烟花,因为当场景改变时,烟花游戏对象会被破坏。你可以使用协程。