Je cherchais depuis plus d'un jour une solution à ce problème mais rien n'y fait, même les réponses ici. La documentation n'explique rien non plus.
J'essaie simplement d'obtenir une rotation dans la direction d'un autre objet. Le problème est que le bitmap ne pivote pas autour d'un point fixe, mais plutôt autour des bitmaps (0,0).
Voici le code avec lequel je rencontre des problèmes:
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;
La partie étrange est que peu importe comment je change les valeurs dans pre
/ postTranslate()
et les arguments float dans setRotation()
. Quelqu'un peut-il s'il vous plaît m'aider et me pousser dans la bonne direction? :)
new
matrice fraîchement éditée. C'est déjà l'identité.