Szukałem rozwiązania tego problemu przez ponad dzień, ale nic nie pomaga, nawet odpowiedzi tutaj. Dokumentacja też niczego nie wyjaśnia.
Po prostu próbuję uzyskać obrót w kierunku innego obiektu. Problem polega na tym, że mapa bitowa nie jest obracana wokół ustalonego punktu, ale raczej wokół map bitowych (0,0).
Oto kod, z którym mam problem:
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;
Dziwne jest to, że nie ma znaczenia, w jaki sposób zmienię wartości w pre
/ postTranslate()
i argumenty float w setRotation()
. Czy ktoś może mi pomóc i popchnąć mnie we właściwym kierunku? :)
new
wyedytowanej matrycy. To już tożsamość.