1. 程式人生 > >淺談雙緩衝技術在遊戲裡面的應用【java】

淺談雙緩衝技術在遊戲裡面的應用【java】

窗體類有兩種Frame、JFrame兩種格式。
需要注意的是,他們都需要匯入相關的包。如果是Frame格式,需要新增如下程式碼(匯入相關的包):

import java.awt.Frame;

如果是JFrame格式,需要新增如下程式碼(匯入相關的包):

import java.awt.JFrame;

如果使用雙緩衝技術,需要在Frame格式(jdk 1.8在JFrame沒成功)的情況下新增如下程式碼

###  private Image offScreenImage = null;
	  public void update(Graphics g) {
	  if(offScreenImage == null)
   	 offScreenImage = this.createImage(500,500);//這是遊戲視窗的寬度和高度  
	  Graphics gOff = offScreenImage.getGraphics();
	  paint(gOff);
	  g.drawImage(offScreenImage, 0, 0, null);

}

過比較他們的效果各不相同,下面展示下Frame與JFrame的區別

|1.Frame格式
Frame格式下,畫面是最不穩定的,頻繁閃動

2.JFrame格式
JFrame格式下,畫面是比較穩定的,但是仍有少數閃動

3.使用雙緩衝技術
使用雙緩衝技術,畫面基本滿足需求,遊戲體驗較好

附上雙緩衝技術的相關程式碼:
/** 新增雙緩衝技術的程式碼*/

private Image offScreenImage = null;
public void update(Graphics g) {
    if(offScreenImage == null)
        offScreenImage = this.createImage(500,562);//這是所設定視窗的寬度和高度
     
    Graphics gOff = offScreenImage.getGraphics();
    paint(gOff);
    g.drawImage(offScreenImage, 0, 0, null);
}