遊戲中進度條的簡單實現

第一種:
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;
//			}
//			
//		}
這裏地兩種不一樣的方式,第一種少用一張圖片
相關文章
相關標籤/搜索