2014-09-13 148 views
0

我正在用Java編寫我的第一個applet遊戲,閱讀了幾個教程,並找到了雙緩衝的不同解決方案。我想知道他們之間有什麼區別,任何優點缺點等。 在此先感謝!雙緩衝方法之間的區別

第一招:

public void update(Graphics g) { 
    if (offImage == null) { 
     offImage = createImage(this.getWidth(), this.getHeight()); 
     offGraphics = offImage.getGraphics(); 
    } 
    offGraphics.setColor(getBackground()); 
    offGraphics.fillRect(0, 0, getWidth(), getHeight()); 
    offGraphics.setColor(getForeground()); 
    paint(offGraphics); 
    g.drawImage(offImage, 0, 0, this); 
} 

之一:

public void init() { 
    offImage = createImage(getWidth(), getHeight()); 
    offGraphics = offImage.getGraphics(); 
} 

public void paint(Graphics g) { 
    g.drawImage(offImage,0,0,this); 
} 

public void update(Graphics g) { 
    paint(g); 
} 

回答

1

這幾乎是相同的。儘管如此,我還是會使用paint方法,因爲很多人會第一次檢查你的代碼,因爲它主要用在Graphics開發中,所以會搜索它。