Size: a a a

2021 February 11

A

A$AP Frog in unity3d.ru
Михаил К
Лучше всего,если речь о стрельбе, делать проверку через пулю,задать какое-то время вылета пули(допустим стреляешь пуля вылетела прошло время) обозвать эту переменную допустим bulletFlyTime, и поставить проверку на вылет снарядов, создать ещё одну переменную назвать ее допустим minFireTime и сравнивать с bulletFlyTime и все...надеюсь понятно описал, и не надо буде корутина просто вметод все запихать...
Да у меня сильно примитивная стрельба, даже назвать стрельбой сложно, есть NPC который стоит на месте и стреляет ровно прямо.

источник

МК

Михаил К in unity3d.ru
A$AP Frog
Да у меня сильно примитивная стрельба, даже назвать стрельбой сложно, есть NPC который стоит на месте и стреляет ровно прямо.

Ну тебе решать, просто корутина не лучший выбор для этой операции, попробуй сделать через Invoke
источник

A

A$AP Frog in unity3d.ru
Михаил К
Ну тебе решать, просто корутина не лучший выбор для этой операции, попробуй сделать через Invoke
Ну просто гуглив мне предлагали корутину, попробую инвоком
источник

A

A$AP Frog in unity3d.ru
Михаил К
Ну тебе решать, просто корутина не лучший выбор для этой операции, попробуй сделать через Invoke
Cтранно всё равно делает много объектов, сначала ждет заданое время а потом спамит.
источник

МК

Михаил К in unity3d.ru
A$AP Frog
Cтранно всё равно делает много объектов, сначала ждет заданое время а потом спамит.
А ты не забыл про условие?
источник

МК

Михаил К in unity3d.ru
A$AP Frog
Cтранно всё равно делает много объектов, сначала ждет заданое время а потом спамит.
Пиши так if(условие) инвоке,
источник

A

A$AP Frog in unity3d.ru
Михаил К
Пиши так if(условие) инвоке,
источник

МК

Михаил К in unity3d.ru
A$AP Frog
Cтранно всё равно делает много объектов, сначала ждет заданое время а потом спамит.
Просто задай условие при котором у тебя сработает инвок
источник

A

A$AP Frog in unity3d.ru
накосячил где-то
источник

МК

Михаил К in unity3d.ru
У тебя temp везде true
источник

A

A$AP Frog in unity3d.ru
ой
источник

P

Phantom in unity3d.ru
Михаил К
Пиши так if(условие) инвоке,
Зачем?
источник

P

Phantom in unity3d.ru
Invoke не нужен
источник

P

Phantom in unity3d.ru
Все можно решить корутинами
источник

A

A$AP Frog in unity3d.ru
))
источник

СК

Саша Коробко... in unity3d.ru
A$AP Frog
Cтранно всё равно делает много объектов, сначала ждет заданое время а потом спамит.
Ты просто запускаешь 100500 корутин в update и они все начинают ждать 5 сек
источник

A

A$AP Frog in unity3d.ru
Саша Коробко
Ты просто запускаешь 100500 корутин в update и они все начинают ждать 5 сек
Просто никогда не работал с корутиной и вот столкнулся.
источник

P

Phantom in unity3d.ru
A$AP Frog
void Update()
   {
       StartCoroutine(Wait());
   }

   IEnumerator Wait()
   {
      yield return new WaitForSeconds(5f);
      StopCoroutine(Wait());
   }

Вот так только 1 раз сработает, а потом за секунду 12412414 раз
Ты каждый кадр запускаешь корутину, ждешь 5 сек, и остонавливаешь новый экземпляр
источник

СК

Саша Коробко... in unity3d.ru
если прям хочешь заменить Update корутиной, просто напиши
IEnumerator UpdateRoutine() {
       while (true) {
           //Do smt
           yield return new WaitForEndOfFrame();
       }
   }
источник

СК

Саша Коробко... in unity3d.ru
и в цикле делай то, что надо в Update
источник