Как сгладить движущийся по canvas объект?

292
09 декабря 2017, 09:42

По canvas движется объект: примитив или спрайт. Если скорость передвижения очень большая то в глаза начинает бросаться что объект отрисовывается только в определённыех точках, в которых он находится во время отрисовки кадра. FPS около 60, для крупных и медленных объектов это не актуально. А вот мелкие и быстрые объекты, размер которых намного меньше дистанции между положениями объекта в двух соседних кадрах это заметно. Какие наиболее правильные способы есть сделать это менее заметным, чтобы движения были более плавные? Поможет ли отрисовка шлейфа за объектом и если да, то что именно отрисовывать в этом шлейфе? Может использовать не шлейф а просто вытянуть объект вдоль траектории движения?

Answer 1

Шлейф (исчезающий след), размазанный или альтернативный спрайт для быстро движущегося объекта - отличные визуальные подсказки, откуда и куда что полетело.

В зависимости от ситуации, в качестве эффекта можно

  • повторить тот же объект несколько раз с разной прозрачностью
  • сжать текстуру объект до колонки в 1 пиксель и размазать её назад, опять же с прозрачностью
  • задействовать цветные линии с плавным исчезновением
  • поднять облачко "пыли" с места старта объекта (классический приём из мультфильмов)

И много чего другого.

READ ALSO
Событие нажатия на колесо мыши Jquery

Событие нажатия на колесо мыши Jquery

У меня есть простая ссылка типа

248
Debug JS\TS in Azure Service Fabric application

Debug JS\TS in Azure Service Fabric application

Does anyone know how to configure JS\TS debugging for Visual Studio for Azure Service Fabric projects?

223