2013-04-14 65 views
0

我目前正在嘗試編寫一個簡單的平臺遊戲。我想將圖形的比例提高2/4 /倍,這樣我就可以從遊戲中獲得古老的外觀和感覺。然而,當我在我的Graphics2D實例上調用scale時,什麼都不會發生。BufferStrategy不縮放Graphics2D

@Override 
public void paint(Graphics g) { 

    BufferStrategy bf = this.getBufferStrategy(); 

    Graphics2D bfg = (Graphics2D) bf.getDrawGraphics(); 

    mLevel.draw(bfg, this); 

    for (GameEntity entity : mGameEntities) { 
     entity.draw(bfg, this); 
    } 

    bfg.scale(2.0, 2.0); 

    bf.show(); 

} 

繪製調用基本上只是最終調用g.drawImage(..)。其他一切都是正確繪製的,所以我不明白爲什麼它不會將所有東西都縮放2倍。

+1

呼叫規模,然後再嘗試畫什麼 – MadProgrammer

+0

爲了更好地幫助越早,張貼[SSCCE(http://sscce.org/)。 –

+0

謝謝@MadProgrammer – dave

回答

0

@MadProgrammer是正確的 - 在進行任何繪製調用之前,必須縮放Graphics2D實例。

@Override 
public void paint(Graphics g) { 

    BufferStrategy bf = this.getBufferStrategy(); 

    Graphics2D bfg = (Graphics2D) bf.getDrawGraphics(); 

    bfg.scale(2.0, 2.0); 

    mLevel.draw(bfg, this); 

    for (GameEntity entity : mGameEntities) { 
     entity.step(); 
     entity.draw(bfg, this); 
    } 



    bf.show(); 

}