ฉันมองหาวิธีแก้ปัญหานี้มาหลายวันแล้ว แต่ไม่มีอะไรช่วยได้แม้แต่คำตอบที่นี่ เอกสารไม่ได้อธิบายอะไรด้วย
ฉันแค่พยายามหมุนไปในทิศทางของวัตถุอื่น ปัญหาคือบิตแมปไม่ได้หมุนรอบจุดคงที่ แต่เป็นรอบบิตแมป (0,0)
นี่คือรหัสที่ฉันมีปัญหา:
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;
ส่วนที่แปลกคือไม่สำคัญว่าฉันจะเปลี่ยนค่าภายในpre
/ postTranslate()
และอาร์กิวเมนต์ลอยในsetRotation()
อย่างไร ใครสามารถช่วยและผลักดันฉันไปในทิศทางที่ถูกต้อง? :)
new
เมทริกซ์ ed ใหม่ เป็นเอกลักษณ์ของมันอยู่แล้ว