2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【3Dゲームエンジン】Unity質問スレッド22

739 :名前は開発中のものです。:2016/02/18(木) 00:01:08.85 ID:7cjKoaWF.net
Unity初心者です。
初歩的な質問で申し訳無いのですが、よろしくお願いします。
衝突判定の数秒後にゲームオーバ処理を行うため、コルーチンを使ってみたのですがどうも動いてくれません。
以下コードの一部です。

_void OnCollisionEnter(Collision col)
____{
________if (col.gameObject.tag == "TheBoard")
________{
___________StartCoroutine(LateTime(3.0f));
________}
____}

____private IEnumerator LateTime(float time)
____{
________Debug.Log("呼び出し");
________Destroy(this.gameObject);
________Debug.Log("呼び出し破壊");
________GameObject exp = (GameObject)Instantiate(detonator.gameObject, transform.position, Quaternion.identity);
________Debug.Log("呼び出し爆発");
________yield return new WaitForSeconds(time);
________Debug.Log("呼び出し遅延");
________SceneManager.LoadScene("GameOver");
____}

衝突→オブジェクト消滅→爆発処理→数秒待機→画面変遷という流れです。

なんで動かないのか調べるため、試しに衝突後の処理を全てコルーチンに入れてみたのですが、
どうもyieldから呼ばれていないようです。
何か解決策有りましたらよろしくお願いします。

総レス数 1004
325 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200