У меня есть сценарий, где у меня есть фиксированное обновление, происходящее на моей сцене.Sprite Kit Physics: можно использовать фиксированное обновление?
Каждое обновление, я хотел бы создать тень, используя предыдущую позицию спрайтов.
func update(currentTime: NSTimeInterval)
{
shadow.position = sprite.position
}
Теперь, когда любой применяет импульс к спрайту, я хочу, чтобы спрайт увеличиваем одинаковое количество шагов, независимо от того, сколько времени на самом деле использовали, чтобы добраться до следующего кадра обновления.
Однако это не так, поскольку при сравнении тени на моем симуляторе с тенью на моем устройстве расстояние между ними очень различно.
E.G. Потребовался мой телефон 1 секунда, чтобы переместить спрайт на 60 шагов. взял мой симулятор. 2 секунды, чтобы переместить спрайт. 60 шагов.
.В мире с фиксированным обновлением. оба взяли 60 кадров для достижения, симулятор просто отставал.
Фактические результаты, однако поставит тренажер на 120 шагов
Я попытался отключить asynchronous
на SKView
в надежде, что бы получить меня фиксированные обновления, но это не заставило меня нигде, поэтому я прошу, если кто-нибудь знает как заставить SKPhysics работать с фиксированной базой обновлений.
Рассчитайте разницу во времени между обновлениями с помощью 'currentTime' аргумента, масштаб движения этой разностью – Kametrixom
Это не хороший подход, Вы удваивая усилия машины уже запаздывает – Knight0fDragon
Почему не ограничивают тень к спрайту? –