Ребят подскажите, функция OnBecameVisible () вызывается каждый раз, как только обект попадает в кадр? Так ведь?
прост есть код:
Код
GameObject player; //объект игрока
public Rigidbody bulE; //обект пули противника
bool boo = false; //тестовая переменная
void Start () {
player = GameObject.FindGameObjectWithTag ("Player"); //нашли игрока
StartCoroutine (enemyFire()); //запускаем корутину
}
void Update () {
Vector3 rot = new Vector3 (player.transform.position.x, transform.position.y, player.transform.position.z); //положение игрока
transform.LookAt (rot); //поворот в сторону игрока (это у меня башня танка)
Debug.Log (boo);
}
void OnBecameVisible () { //если объект стал видим, тооооооо
boo = true; //все верно переменную меняем на тру.
}
public IEnumerator enemyFire() { //собсно сама корутина
while (boo) { //пока буу тру
Rigidbody clone; //определяем
clone = Instantiate (bulE, transform.position, transform.rotation) as Rigidbody; //инстансим
clone.velocity = transform.TransformDirection (Vector3.forward * 15f); //подсыпаем угля в топку
yield return new WaitForSeconds (1f); //ждем сек и по новой
}
}
Так почему ж тогда переменная boo не меняется, когда объект вошел в зону видимости камеры??