Я вернулся к этой проблеме сейчас, когда мы дорабатываем игру, и я просто решил опубликовать, что сработало для меня.
Это метод вращения Матрицы:
this.matrix.reset();
this.matrix.setTranslate(this.floatXpos, this.floatYpos);
this.matrix.postRotate((float)this.direction, this.getCenterX(), this.getCenterY());
(this.getCenterX()
- это в основном позиция X растровых изображений + ширина растровых изображений / 2)
И метод рисования растрового изображения (вызывается через класс RenderManager
):
canvas.drawBitmap(this.bitmap, this.matrix, null);
Так что это довольно просто, но я нахожу странным, что я не смог заставить его работать до setRotate
, за которым следует postTranslate
.Может быть, кто-то знает, почему это не работает?Теперь все растровые изображения вращаются правильно, но не без незначительного снижения качества растрового изображения: /
В любом случае, спасибо за вашу помощь!