Страница 1 из 1

Помогите

СообщениеДобавлено: 21 янв 2020, 03:26
merai
Делаю игру на unity 2d . Как сделать яд , что бы персонажу получал урон т.е. -1 раз в 2 секунда . 3-4 раза.

Re: Помогите

СообщениеДобавлено: 21 янв 2020, 04:00
mastersmit
Через корутину можно, например:

Синтаксис:
Используется csharp
int health; // здоровье непися/игрока

// damage - наносимый урон, interval - с каким интервалом, count - сколько раз
IEnumerator Poison(int damage, float interval, int count) {
     var step = 0;
     while (step < count) {
          health -= damage;
          step++;
          yield return new WaitForSeconds(interval);
     }
     yield break;
}


Когда надо применить этот "яд" пишем:
Синтаксис:
Используется csharp
 
StartCoroutine(Poison(5, 2f, 4));


В данном случае от значения health будет отниматься по 5 каждые 2 секунды 4 раза.

Re: Помогите

СообщениеДобавлено: 21 янв 2020, 04:05
1max1
непися

Сначала подумал что там пробел пропущен, потом загуглил, оказывается это NPC :))

Re: Помогите

СообщениеДобавлено: 21 янв 2020, 04:14
mastersmit
1max1 писал(а):
непися

Сначала подумал что там пробел пропущен, потом загуглил, оказывается это NPC :))

Лень было переключаться на английскую раскладку =) и так код писал с телефона, а на нем это мучение :ymdevil: