Unity3d 在碰撞时播放发射粒子不起作用?
我想让粒子系统在发生碰撞时发挥作用,粒子系统是爆炸,但它一直在说 “无法修改ParticleSystem.emission的返回值,因为它不是变量” 这是代码Unity3d 在碰撞时播放发射粒子不起作用?,unity3d,Unity3d,我想让粒子系统在发生碰撞时发挥作用,粒子系统是爆炸,但它一直在说 “无法修改ParticleSystem.emission的返回值,因为它不是变量” 这是代码 public Particle explosion; void Start() { explosion.emission.enabled = false; } private void OnCollisionEnter(Collision collision) { if(collision.gameObje
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");
}
}
当发生碰撞时,您可以实例化游戏对象(爆炸),而不是禁用和启用爆炸
public Transform Explosion;
private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.name == "Cube")
{
Destroy(this.gameObject);
Instantiate(explosion);
UnityEngine.SceneManagement.SceneManager.LoadScene("GameOver");
}
}
但是,在焰火之后,您正在更改场景,因此它可能不会显示焰火,因为当场景更改时,焰火游戏对象会被销毁。您可以使用协同程序来实现这一点