【ハルシオンブログ】またコルーチンで嵌るの巻 オブジェクト非表示でも動かなくなるんすね。
こんにちは。
大坂です。
関東もまた雨が続くみたいですね。
ちょっと涼しくなるといいんですけど。
以前こんなことを書いてコルーチンで嵌ってましたが、
似たようなことをまたやったのでメモですよ。
【ハルシオンブログ】コルーチン使っててちょっと嵌ったのでメモ
前回はDestroyしたらコルーチンが動かなくなる―って話でしたが、
オブジェクトを非表示にしても動かなくなるって話。
こんなことをしてると途中で動かなくりますね。

Test_2のログが出てませんね。
対策も同じですが、コルーチンが終わるの待ってから非表示にしたらいいですね。
変更点は太字赤のところですね。

これでTest_2のログも出ましたね。
今週もこれで終わり。
ではまたノシ
大坂です。
関東もまた雨が続くみたいですね。
ちょっと涼しくなるといいんですけど。
以前こんなことを書いてコルーチンで嵌ってましたが、
似たようなことをまたやったのでメモですよ。
【ハルシオンブログ】コルーチン使っててちょっと嵌ったのでメモ
前回は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)
« 【ハルシオンブログ】UnityCollabとCloudBuild試してみたった。意外と簡単ですね? | 【ハルシオンブログ】シーン移動の際に、次のシーンが重いとき。ローディング画面的なのをかましたくなりますよね?そのやり方。 »
コメント
| h o m e |