Изучаю движок cocos2d-x, не очень знаком с этой темой, поэтому не уверен, верно ли всё сделал.
Я двигаю спрайт на 5 пикселей 60 раз в секунду и, если фпс упадёт, то я хочу чтобы за секунду спрайт продвинулся на те же 5*60 пикселей, не меньше и не больше. Правильно ли я сделал корректировку движения?
void HelloWorld::update(float delta)
{
float newPosX = sprite->getPositionX() + (xMovement * 5 * delta / 0.016666);
float newPosY = sprite->getPositionY() + (yMovement * 5 * delta / 0.016666);
sprite->setPosition(newPosX, newPosY);
}
Проверял вставив этот код в функцию update, на глаз вроде работает:
if (RandomHelper::random_int(1, 100) == 5)
Sleep(100);
Я знаю что сформулировал вопрос плохо, но надеюсь знающие люди поймут. Если есть идеи как это сделать по-другому, с удовольствием прочитаю.
Переменные xMovement и yMovement имеют значения -1, 0, 1, зависит от нажатых клавиш.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости