05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【Unity】Destroy後にちょっと嵌った話 

こんにちは。
大坂です。

今日も寒いですねorz
明日は都心でも雪が降るとかどうとか。
積もるほどではないらしいですが。

さて今年2回目のブログですでにネタなんてないわけなんですが。
コードを触っていてDestroyでオブジェクトがなくなるタイミングでちょっと嵌ったのでその辺を。
今更なんですけどね…orz

簡単に言えばDestroy直後にそのオブジェクトを探しに行くとまだオブジェクトが存在している感じですね。
        Destroy(GameObject.Find("GameObject"));

if(GameObject.Find("GameObject")) {
Debug.Log("Test");
}

こんな感じにやるとログが表示されます。

nullかどうかで判定してあげるとログは出ません。
        Destroy(GameObject.Find("GameObject"));

if(GameObject.Find("GameObject") == null) {
Debug.Log("Test");
}

なるほど。

ちなみに次のフレームになってれば「if(GameObject.Find("GameObject"))」でも存在しない扱いになってます。
    void Update() {

if(GameObject.Find("GameObject")) {
Destroy(GameObject.Find("GameObject"));
Debug.Log("Test");
}
}

ログは一回しか出ません。

ということで小ネタですがこの辺で。
また来週ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/370-b35fef16
この記事にトラックバックする(FC2ブログユーザー)