Поведение багги с использованием Canvas? - PullRequest
3 голосов
/ 05 августа 2010

Я делаю игру, используя HTML-холст.

Вот мой прогресс:

http://db.tt/ei3LlR (используйте клавиши WASD и клавиши со стрелками влево / вправо) Помогает увеличить изображение.

Мои вопросы:

  • Почему в google chrome мерцает тень, когда танк поворачивается?
  • Почему изображение турели мерцает в сафари, когда турель поворачивается?
  • Почему он хорошо работает в Firefox?

Изображение танка и изображение башни представляют собой простые старые png-файлы.Тени динамически создаются с использованием этих изображений.Тени - это не объекты изображения, а элементы холста.

Мерцание, кажется, происходит только при изменении поворота изображения.Когда я говорю о мерцании, я имею в виду, что изображение, кажется, сжимается и растет очень быстро.Мерцание снова прекращается, когда изображение перестает вращаться.

Что здесь происходит?Это проблема на моем конце?

Ответы [ 2 ]

1 голос
/ 06 августа 2010

Что касается мерцающих проблем, вы, похоже, не используете двойную буферизацию холста.Так что, возможно, что-то мерцает, потому что земля или тени рисуются перед танками, и перед рисованием танков и башен происходит обновление экрана.

Этот вопрос немного о двойной буферизации с Canvas 2D: Поддерживает ли HTML5 / Canvas двойную буферизацию?

Мне также интересно, могут ли небольшие ошибки округления в методах контекста rotate и translate вызывать дрожание изображения.Различные реализации браузера могут иметь разные уровни точности для этих операций.Вы можете попробовать округлить ваши параметры до ближайшего целого числа, чтобы проверить это.

PS: Ваша игра пока выглядит великолепно - графика танка и управляемость действительно хороши.

0 голосов
/ 20 мая 2011

UPDATE. Проблема больше не существует! Должно быть, они это исправили!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...