Показать сообщение отдельно
Старый 18.12.2014, 01:30   #2
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Сопрограммы (Coroutine) в Unity

Напишу что у меня по поводу короутинов:
(коды только изучаю, особо не знаю как ошибки исправлять, просто стараюсь их обходить и не создавать)
просто пишу свою мыслю


void Start() {
StartCoroutine("AimCoroutine");
StartCoroutine(SpawnCoroutine());
}

IEnumerator AimCoroutine() {
while(true)
{
yield return new WaitForSeconds(0.1f);
//некий код
StopCoroutine("AimCoroutine"); //короутин сам себя прекратит, если нужно одноразовое использование
}
}

IEnumerator SpawnCoroutine() {
while(true)
{
yield return new WaitForSeconds(3.0f-speed);
//некий код
StopCoroutine(SpawnCoroutine); //либо StopCoroutine(SpawnCoroutine())
//тут уже не получится самопрекратить короутин (у меня Unity ругался поэтому я пишу названия в двойный кавычках)
}
}

если сможете, то можете поправить и указать причину ошибки StopCoroutine(SpawnCoroutine())
(Offline)
 
Ответить с цитированием