M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


По поводу анимации...  -  Hruks,  05.11.2004  9:34:10

Анимация странным образом зависит от частоты кадров отображаемых.
Это говорит о том, что анимация не корректно выводится.
Сейчас похоже просто стоит счётчик каджов - счётчик увеличился - это индекс для кадра анимации. Как за край перешли, так в 0 сбросили.

   А нужно чуть-чуть по другому:
Не счётчик а интервал времни.
На каждый кадр из N уходит T времени.
Время тикает согласно кадров.
Время накапливается на каждом кадре. В какой кадр по времени попадаем, такой и выводим.
При привышении времени отображения всей анимации N*T от пройденного времени отнимаем N*T и получаем опять кадр, ктоторый нужно выводить.
При этом даже возможны варианты, когда разные кадры анимации выводятся разное время.

У такого эффекта есть один минус - на медленных компах или огромных разрешениях будут пропускаться кадры анимации. Но зато вся анимация будет идти синхронно и не зависеть от нагрузки на комп.

Всё это точно также относится и к скорости перемещения по карте - движения юнитов. За M секунд скорость движения одна клетка. Прошло с момента начала движения 1/4 секунды на текущем кадре куда продвинулся юнит? Нужно M/4 получим часть клетки. Клетку масштабируем согласно текущего масштаба - получаем сколько пикселей продвинулись. Но последний этам я так понял уже нормально реализован.

    ответы :