利用双缓冲消除图片重画的闪烁现象

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

 

你可能感兴趣的:(利用双缓冲消除图片重画的闪烁现象)