NSTimer и CACurrentMediaTime()

Итак, я работаю над своей первой игрой для iOS и пытаюсь найти лучший способ интегрировать движение объектов.

Игра в значительной степени зависит от быстро движущихся объектов и постоянных и быстрых изменений пользовательского ввода. Таким образом, я стараюсь, чтобы интеграция объектов и решатель ограничений работали как можно быстрее и точнее (, чтобы свести к минимуму изменения пользовательского ввода между последовательными вызовами игрового цикла ).

В частности, я не уверен в возможностях класса NSTimer и функции CACurrentMediaTime (). Трудно проверить эмпирически, потому что я не уверен, где ошибка больше. Например, используя NSTimer с интервалом повторения 0,008 (~2 обновления/обновление экрана )и вызывая CACurrentMediaTime ()при последовательных вызовах, я обнаружил, что временной интервал между вызовами варьируется от 0,0075 -до 0,009. Трудно сказать, что ответственно за (небольшое )несоответствие. Таким образом, для определения шага по времени я должен быть:

  1. Предположим, что NSTimer достаточно точен, чтобы использовать временной интервал NSTimer в качестве временного шага игрового цикла

  2. . Используйте CACurrentMediaTime (), чтобы определить временной интервал между последовательными вызовами игрового цикла.

Студент и новичок во всем этом -пожалуйста, будьте любезны :)Мы очень признательны за любой совет. Спасибо за ваше время.

22
задан Z.O. 25 July 2012 в 23:51
поделиться