1、放大、缩小
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
/* 重置mMatrix */
mMatrix.reset();
/* 设置缩放 */
mMatrix.postScale(Scale,Scale);
/* 按mMatrix得旋转构建新的Bitmap */
Bitmap mBitQQ2 = Bitmap.createBitmap(mBitQQ, 0, 0, BitQQwidth,BitQQheight, mMatrix, true);
/* 绘制旋转之后的图片 */
GameView.drawImage(canvas, mBitQQ2, (320-BitQQwidth)/2, 10);
mBitQQ2 = null;
}
// 按键按下事件
public boolean onKeyDown(int keyCode, KeyEvent event)
{
//左方向键
if (keyCode == KeyEvent.KEYCODE_DPAD_UP)
{
if ( Scale > 0.3 )
{
Scale-=0.1;
}
}
//右方向键
else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN)
{
if ( Scale < 1.5 )
{
Scale+=0.1;
}
}
return true;
}
最后使用postInvalidate可以直接在线程中更新界面
postInvalidate();
2、旋转
mMatrix.rotate(角度);