Há mais de um dia procuro uma solução para este problema, mas nada ajuda, nem mesmo as respostas aqui. A documentação também não explica nada.
Estou simplesmente tentando obter uma rotação na direção de outro objeto. O problema é que o bitmap não é girado em torno de um ponto fixo, mas sim em torno dos bitmaps (0,0).
Aqui está o código com o qual estou tendo problemas:
Matrix mtx = new Matrix();
mtx.reset();
mtx.preTranslate(-centerX, -centerY);
mtx.setRotate((float)direction, -centerX, -centerY);
mtx.postTranslate(pivotX, pivotY);
Bitmap rotatedBMP = Bitmap.createBitmap(bitmap, 0, 0, spriteWidth, spriteHeight, mtx, true);
this.bitmap = rotatedBMP;
A parte estranha é que não importa como eu altero os valores em pre
/ postTranslate()
e os argumentos flutuantes em setRotation()
. Alguém pode me ajudar e me empurrar na direção certa? :)
new
matriz recém- editada. Já é a identidade.