2015-01-21 4 views
3

У меня есть анимация, которая происходит на dragmove. Однако я не хочу тратить циклы, делая больше вычислений, чем должен. По сути, я хочу, чтобы события dragmove отображались только с разумной скоростью анимации.Координация dragmove не должна превышать 30 FPS

Другими словами, события dragmove происходят так же быстро, как они могут, но я хочу только выполнить код так часто, как это необходимо для гладкости для пользователя.

Пока единственное решение, с которым я столкнулся, состоит в том, чтобы иметь отдельный цикл анимации, который выполняет перерисовку и ondragmove, просто устанавливает нужные мне переменные. Есть ли более элегантный способ сделать это?

+1

То, что у вас сейчас есть, интервал анимации с обновленными координатами в реальном времени, может быть действительно идеальным, в зависимости от остальной части вашего проекта. – lemieuxster

ответ

2

Подумайте об этом таким образом. 30 FPS - ваше ограничение. События будут проходить в свое время независимо от ваших ограничений.

Итак, ваша идея не в том, что она «не изящна». Я бы сказал, это единственный способ пойти.

Когда вы получаете событие движения, храните его локально, если вы уже храните его, переопределите старые данные (это игнорируемая часть). Из 30 циклов FPS пробуйте событие движения, если у вас есть что-то, чем выполнить и уничтожить.

Это о нем. В значительной степени ваши собственные слова.

 Смежные вопросы

  • Нет связанных вопросов^_^