Вопрос по OnBecameVisible () - Форум Игроделов
Пт, 17 Май 2024, 05:16 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Вопрос по OnBecameVisible ()
Вопрос по OnBecameVisible ()
mastersmitДата: Пт, 28 Ноя 2014, 18:57 | Сообщение # 1
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Ребят подскажите, функция 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 не меняется, когда объект вошел в зону видимости камеры??
 
СообщениеРебят подскажите, функция 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 не меняется, когда объект вошел в зону видимости камеры??

Автор - mastersmit
Дата добавления - 28 Ноя 2014 в 18:57
seamanДата: Пт, 28 Ноя 2014, 20:21 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
С башней и камера вращается?
 
СообщениеС башней и камера вращается?

Автор - seaman
Дата добавления - 28 Ноя 2014 в 20:21
mastersmitДата: Вс, 30 Ноя 2014, 06:48 | Сообщение # 3
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Извиняюсь..на объекте не висел Рендерер. *конфуз*
 
СообщениеИзвиняюсь..на объекте не висел Рендерер. *конфуз*

Автор - mastersmit
Дата добавления - 30 Ноя 2014 в 06:48
Форум Игроделов » UNITY3D » СКРИПТИНГ » Вопрос по OnBecameVisible ()
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024