Ho cercato per più di un giorno una soluzione a questo problema ma niente aiuta, anche le risposte qui. Anche la documentazione non spiega nulla.
Sto semplicemente cercando di ottenere una rotazione nella direzione di un altro oggetto. Il problema è che la bitmap non viene ruotata attorno a un punto fisso, ma piuttosto attorno alle bitmap (0,0).
Ecco il codice con cui sto avendo problemi:
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 parte strana è che non importa come cambio i valori all'interno di pre
/ postTranslate()
e gli argomenti float in setRotation()
. Qualcuno può aiutarmi e spingermi nella giusta direzione? :)
new
matrice appena modificata . È già l'identità.