我想要一个粒子系统在发生碰撞时发挥作用,粒子系统是一个爆炸,但它一直在说
“无法修改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");
}
}
答案 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");
}
}
然而,在烟花之后,你正在改变场景,因此它可能不会显示烟花,因为当场景改变时,烟花游戏对象会被破坏。你可以使用协程。