第一種:
private void myDraw() {
try{
canvas = sfh.lockCanvas();
if(canvas != null){
canvas.drawColor(Color.CYAN);
canvas.save();
canvas.clipRect(new Rect(10, screenH/2, currentX, ((screenH/2)+bitmapPass.getHeight())));
canvas.drawBitmap(bitmapPass, 10, screenH/2, paint);
canvas.restore();
// canvas.drawBitmap(bitmapBg, currentX, screenH/2, paint);
}
}catch (Exception e) {
e.printStackTrace();
}finally{
if(canvas != null){
sfh.unlockCanvasAndPost(canvas);
}
}
}
private void logic() {
if(currentX > 10){
currentX-=2;
}else {
currentX = 10;
return;
}
}
第二種:
// private void myDraw() {
// try{
// canvas = sfh.lockCanvas();
// if(canvas != null){
// canvas.drawColor(Color.CYAN);
// canvas.drawBitmap(bitmapPass, 10, screenH/2, paint);
// canvas.drawBitmap(bitmapBg, currentX, screenH/2, paint);
// }
// }catch (Exception e) {
// e.printStackTrace();
// }finally{
// if(canvas != null){
// sfh.unlockCanvasAndPost(canvas);
// }
// }
//
// }
//
// private void logic() {
// if(currentX > 10){
// currentX-=2;
// }else {
// currentX = 10;
// return;
// }
//
// }
這裏地兩種不一樣的方式,第一種少用一張圖片