Показать сообщение отдельно
  #1  
Старый 28.05.2011, 02:51
Аватар для Lothlorien
Lothlorien Lothlorien вне форума
Новичок
 
Регистрация: 06.04.2011
Адрес: Солнечная система
Сообщения: 69
Версия Delphi: 7.0
Репутация: 12
Сообщение Задержка в TThread

Всем привет
Благодаря ценным советам участников форума я взялся за изучение потоков. Успешно внедрил их в несколько своих программ, в частности - в стратегическую игру, над которой потею в данное время.
Но столкнулся с одной проблемой. Каждый юнит в игре имеет свою скорость движения, атаки и стрельбы из лука. Используя потоки, я теряю возможность управлять задержками (все двигаются с одинаковой скоростью, то ли это конница, то ли гоплиты).
Нашёл в статьях на сайте код процедуры Delay, вызываю её так:
Код:
...fMoveAI.Execute;
begin
while not Terminated do
begin
Synchronize(MoveAI);
Delay(MOVE_DELAY);
end;
end;
Вроде бы работает, но как-то это неаккуратно. Есть функция WaitFor - нельзя ли с её помощью задерживать выполнение потока?
Ответить с цитированием