@kazmiruk

Как избавиться от белого фона под анимацией в Libcanvas?

Реализовал пример на Libcanvas. Затем решил поэкспериментировать с изометрией. Сделал простенькую сетку 2х2. Заменил
ctx.drawImage({
    image : this.animation.get(),
    center: this.shape.center
});

на
ctx.projectiveImage({
    image : this.animation.get(),
    to: this.shape
});

, где this.shape — полигон, точки которого соответствуют узлам сетки.
Анимация отображается и воспроизводится, но вокруг выводится белое обрамление.
image
Как можно от него избавиться и почему оно появляется?
  • Вопрос задан
  • 3647 просмотров
Пригласить эксперта
Ответы на вопрос 2
Добрый день) Проблема скорее всего в том, что по-умолчанию очистка идёт через «boundingRectangle» фигуры.
Попробуйте добавить в ваш класс такой код и скажите, исправился ли баг?
clearPrevious: function (ctx) {
    ctx.clear( this.shape );
}


Как альтернатива — заменить boundingShape:
get currentBoundingShape () {
  return this.shape;
}


По идее любой из этих способов должен помочь.

С точки зрения производительности вместо projectiveImage, который реализуется через множество трансформаций — лучше использовать одну трансформацию. Например, как в топике "Canvas-трансформации доступным языком".

А ещё лучше — загружать уже транформированные картинки (так и дизайнеру легче, имхо). Пример из Civilization3:
Ответ написан
С этим вопросом лучше обратиться к этому человеку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы