检查对象被破坏并加载新场景

时间:2016-03-27 09:10:34

标签: object unity3d

我正在通过烟雾颗粒扑灭火焰粒子,所以我想检查对象是否被破坏,如果对象被破坏然后加载新场景。 这是我的脚本,,,,,,任何建议?

using UnityEngine;
using System.Collections;
public class hey : MonoBehaviour {
void Start(){
 GetComponent<ParticleSystem> ().emissionRate = 0;
 }
 void Update(){
 if (Input.GetMouseButtonDown (1)) {
     GetComponent<ParticleSystem> ().Emit (20);
 }
 }
 void OnParticleCollision(GameObject obj)
 {
 Destroy (obj, 2.0f);
 //here i want to check and then load new scene.. 
  //I try that thing, but failed..nothing happen
    if (object.Equals (obj, null)) { 
     Application.LoadLevel (7);
 }
 //also this one, but nothing happens
 if(gameObject.tag=="fire123"==null){
     Application.LoadLevel (7);
        }
    // also this one too, but failed :-(
     void OnDestroy(){
  Application.LoadLevel (7); } }

1 个答案:

答案 0 :(得分:2)

问题:Destroy(obj, **2.0f**); 由于延迟,在评估if时不会销毁项目。

因此要么不要使用延迟,要么使用OnParticleCollision协程并使用yield return new waitForSeconds或将检查放在其他地方,例如Update或在脚本中使用OnDestroy在被破坏的粒子上。