минус - писать умножение на дельту на КАЖДУЮ операцию (значимую ессено). что, согласись, довольно лениво.
|
Ну, если лениться на всём, то и игру не сделаешь

Если я пишу нечто, что связано с дельтой, то тут же и приписываю
*dt вот и всё
Да, конечно, переменных в среднем проекте дох*я и если уже в готовый прокт вкручивать дельту, то тут голову сломаешь. Поэтому нужно завести себе привычку сразу же связывать всё необходимое с дельтой и никаких проблем не возникнет!
Да не только в лени дело, этож ВЕСЬ код, а согласись он порой Огромен, и в нём эти сотни и почти тысячи умножений, читабельность падает неимоверно.
|
Ну, вот. Теперь мы будем бороться не за качество конечного продукта, а за читабельность кода. Конечно, пускай у нас тяжёлая логика повторяется N раз, пока не поспеет за рендером. А, между прочим, если юзать, например, PhysX, то и физику (RenderPhysX в данном случае) нужно пихать к логике, или я не прав? Выходит, обработку физики тоже нужно повторять?! А это уже нехилые тормоза! И это при том, что в том же RenderPhysX'e и стандартном блитзевском UpdateWorld'e предусмотрена переменная tween (см. хелп), которая и есть ни что иное, как dt!
Так о чём это я? Ах да, у нас же зато будет самый читабельный код на свете!
Bot\speed = bot\speed + 0.001*dt ; То увеличим его скорость бега
If bot\speed > 0.3 bot\speed = 0.3 ; Но она не должна превышать 0.3
If bot\anim_status <> goes ; Если бот всё ещё не анимирован анимацией ходьбы
Animate(bot\mesh,1,.03,4,5000.0/dt) ; Исправляем это дело
bot\anim_status = goes ; И пишем что бот, мол, уже анимирован
End If
|
Нечитабельно? ИМХО, всё очень даже понятно.