Tôi đã tìm kiếm giải pháp cho vấn đề này hơn một ngày nhưng không có gì giúp ích được, ngay cả câu trả lời ở đây. Tài liệu không giải thích bất cứ điều gì quá.
Tôi chỉ đơn giản là đang cố gắng quay theo hướng của một vật thể khác. Vấn đề là bitmap không được xoay quanh một điểm cố định, mà xoay quanh bitmap (0,0).
Đây là mã tôi đang gặp sự cố:
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;
Phần kỳ lạ là, không quan trọng bằng cách nào tôi thay đổi các giá trị bên trong pre
/ postTranslate()
và các đối số float trong setRotation()
. Ai đó có thể vui lòng giúp đỡ và đẩy tôi đi đúng hướng không? :)
new
ma trận mới được chỉnh sửa. Nó đã là bản sắc.