やまめも

【 ゲーム開発・日々のことについて 】

【Unity】毎フレーム、コルーチンを呼び出す。(生成したものは消去)

生成するオブジェクトで、なおかつ多数になるものは消去する。
Updateのようにコルーチンを呼び出す。( Updateでコルーチンを呼び出すことができなかった。Keju)

using UnityEngine;
using System.Collections;

public class ShotMove : MonoBehaviour {

	bool colliderFlag = false;

	void Start () {
		StartCoroutine(objDestroy());
	
	}

	// startとwhile(true)のセット
	// Updateではコルーチンを呼ぶことは経験上できなかった。
	// 常に起動させておきたくて、コルーチンを用いたければ。
	IEnumerator objDestroy(){
		while(true){
			if(colliderFlag){
				yield return new WaitForSeconds(0.5f);
				Destroy(gameObject);
			}
			yield return new WaitForSeconds(8.0f);
			Destroy(gameObject);
		}
	}
	public void shotHit(){
		colliderFlag =true;
	}
}