private Matrix m_Matrix = new Matrix();
private Matrix m_Matrix_ = new Matrix();
//회전 시 기존에 나와있는 Bitmap.createBitmap 할경우 gc 발동 한다.
//이 방법은 gc 생성없이 부드러운 동작을 한다.
public Matrix setRotate(float degrees, Bitmap bitmap) {
//매트릭스 변수에 m_Matrix_ 을 set 하는 이유는 초기화 하는 듯...
m_Matrix.set(m_Matrix_);
// 회전 값을 주고 회전할 위치를 정해준다. // 이미지의 중앙을 회전한다.
m_Matrix.postRotate(degrees, bitmap.getWidth() / 2, bitmap.getHeight() / 2);
//위치값을 지정.
m_Matrix.postTranslate(getX() - bitmap.getWidth() / 2, getY() - bitmap.getHeight() / 2);
return m_Matrix;
}
캔버스에
canvas.drawBitmap(m_Bitmap, setRotate(angle + 90, m_Bitmap), null);
'GAME > 안드로이드_알고리즘' 카테고리의 다른 글
안드로이드 캔버스 기준좌표. (0) | 2014.12.01 |
---|---|
스케일 터치이벤트 (0) | 2014.11.24 |
안드로이드 조이스틱 패드 만들기. (0) | 2014.11.21 |