天天看點

利用雙緩沖消除圖檔重畫的閃爍現象

重寫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);
}
           

繼續閱讀