2010. 10. 25. 09:37 안드로이드
두개 쓰는 이유는
canvase두개를 백버퍼라 하고 유저 버퍼라고한다면
백버퍼는 배경을 그리고
유저버퍼는 움직이는 케릭터를 그린다

그러면 백버퍼는 배경이기 때문에 자주 갱신을 할 필요가 없는데
배경을 그리기위해 자잘한 이미지들을 개임중에 계속 그려줄 필요가없는것이다 (속도저하)
그래서 canvas를 하나 더 선언해서 필요할때만 딱 그려주고 계속 그놈을 쓰는 방법을 구현한것이다
///////////선언
private SurfaceHolder mSurfaceHolder;
Canvas canvas = null;
private Bitmap mImgBack;
Bitmap imgScreen;
Canvas bbg;
Boolean fFirst = false;
   
///////////생성자
Resources res = context.getResources();
mImgBack = BitmapFactory.decodeResource(res, R.drawable.img1);
imgScreen = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
bbg = new Canvas(imgScreen);
fFirst = true;

//////////그리는 부분
canvas = mSurfaceHolder.lockCanvas(null);
if(fFirst)
{
bbg.drawBitmap(mImgBack, 0, 0, null);
fFirst = false;
}
canvas.drawBitmap(imgScreen,0,0,null);
mSurfaceHolder.unlockCanvasAndPost(canvas);


완벽해 ~ 하하하하하하하하하하하하하하하하하하하하하핳하하하하하하

'안드로이드' 카테고리의 다른 글

이펙트 사운드 다운로드 사이트  (0) 2010.12.21
adb failed  (0) 2010.12.20
안드로이드 디버그 메세지 찍기  (0) 2010.10.07
Activity 새로운 창 띄우기  (0) 2010.10.07
컴퓨터 이름이 한글일경우  (0) 2010.06.05
posted by 욱이다