Что-то у меня не получается сделать привязку движения объекта ко времени затраченному на расчет движения. Игровой цикл взял из
примера на хабре - самый последний, со всеми плюшками в виде интерполяции и предсказания =)
Вместо while( game_is_running ) { /*code*/ } поставил Timer { onTriggered: { /*code*/ }}
Получилось вот что:
pastebin (
pastie)
Откровенно говоря, получилась полная фигня! Шарик падает не плавно, а с плавными подёргиваниями =) как будто кто-то снизу дует на него с разной силой.
Еще, как я предполагал, такой цикл должен был бы отрисовывать состояние объекта одинаково не зависимо от интервала. Но это совсем не так. Если интервал таймера будет не 10, а 1, то шарик падает намного быстрее. Почему? Ведь есть же ограничение по кадрам, так почему его состояние меняется не так, как написано в статье? Я не понимаю.
Есть ли смысл вообще делать игровой цикл таким? Или можно обойтись обычным таймером? Как правильно рассчитывать положение объекта в зависимости от времени?