FC2ブログ
    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やらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】またコルーチンで嵌るの巻 オブジェクト非表示でも動かなくなるんすね。 

    こんにちは。
    大坂です。

    関東もまた雨が続くみたいですね。
    ちょっと涼しくなるといいんですけど。

    以前こんなことを書いてコルーチンで嵌ってましたが、
    似たようなことをまたやったのでメモですよ。
    【ハルシオンブログ】コルーチン使っててちょっと嵌ったのでメモ

    前回はDestroyしたらコルーチンが動かなくなる―って話でしたが、
    オブジェクトを非表示にしても動かなくなるって話。

    こんなことをしてると途中で動かなくりますね。
    public class BlogTest : MonoBehaviour {

    public GameObject blogTest2;

    void Start () {
    StartCoroutine(blogTest2.GetComponent<BlogTest2>().Test());
    Debug.Log("Test_3");
    blogTest2.SetActive(false);
    }
    }

    public class BlogTest2 : MonoBehaviour {

    public IEnumerator Test() {
    Debug.Log("Test_1");
    yield return new WaitForSeconds(3f);
    Debug.Log("Test_2");
    }
    }



    Test_2のログが出てませんね。

    対策も同じですが、コルーチンが終わるの待ってから非表示にしたらいいですね。
    public class BlogTest : MonoBehaviour {

    public GameObject blogTest2;

    IEnumerator Start () {
    yield return StartCoroutine(blogTest2.GetComponent<BlogTest2>().Test());
    Debug.Log("Test_3");
    blogTest2.SetActive(false);
    }
    }


    変更点は太字赤のところですね。


    これでTest_2のログも出ましたね。

    今週もこれで終わり。
    ではまたノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/516-3065d884
    この記事にトラックバックする(FC2ブログユーザー)