2016-03-27 21 views
0

煙粒子によって消火粒子が消火されているので、そのオブジェクトが破壊されているかどうかを確認したい。 ここに私のスクリプトです,,,,,何か提案はありますか?チェックオブジェクトが破棄され、新しいシーンがロードされる

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); } } 
+0

あなたは 'Destroy'で時間を無駄にしましたか?それは問題かもしれません。もしあなたがifに行くとき、それはまだ破壊されていません。コルーチンが役立つようにしてください(そして 'waitForSeconds'を使用してください)。 @ GunnarB。 –

+0

ええ、私はそのように考えていない、私は試してみましょう。コメントありがとう:-) –

+0

@GunnarB。どうもありがとうございます。私のために働きます。親切に答えタブに投稿してください。私はそれを参考に評価します。 –

答えて

2

問題:そのために評価されている場合ときアイテムが破壊されない遅延のDestroy(obj, **2.0f**);

だから、どちらかは、遅延を使用するか、OnParticleCollisionコルーチンを作成し、yield return new waitForSecondsを使用するか、Updateのようにどこかにチェックを入れたり破壊されます粒子上のスクリプトでOnDestroyを使用しないでください。

関連する問題