1. 程式人生 > >利用雙緩衝消除圖片重畫的閃爍現象

利用雙緩衝消除圖片重畫的閃爍現象

重寫update方法

Image offScreenImage = null;//重畫圖片的虛擬圖片

public void update(Graphics g) {

/*
* 先建立圖片
* 找到圖片的畫筆工具
* 對圖片重寫(呼叫paint方法)
* 然後將圖片畫出來
* 在此之前每一次對矩形框進行重畫,消除上一層,然後將圖片刷上去
*/
if(offScreenImage == null){
offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);
}
Graphics gOffScreen = offScreenImage.getGraphics();
Color c = gOffScreen.getColor();
gOffScreen.setColor(Color.green);
gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);
gOffScreen.setColor(c);
paint(gOffScreen);
g.drawImage(offScreenImage, 0, 0, null);
}