我基本上是編寫一個簡單的遊戲引擎,但我遇到了我的精靈/圖像沒有出現時應該......或根本問題!無法讓圖片移動到我想要的位置(並不斷更新)?
我會盡量保持這一點儘可能簡單。我有一個Sprite,GameEngine和Display類。在gameloop中,我有一個方法來設置我的Sprite的新位置(所以它只是設置x和y變量)。接下來我所說的變換方法,它具有以下功能:
public void transform() {
affineTransform.setToIdentity();
affineTransform.translate(x, y);
}
在此之後,我再調用Draw方法在雪碧:
public void draw() {
graphics2D.drawImage(image, affineTransform, jFrame);
}
最後,我螺紋我然後調用重繪()上JFrame(顯示類)。我的塗料方法如下:
public void paint(Graphics g) {
g.drawImage(backbuffer, insets.left, insets.top, this);
}
但是除了黑屏之外沒有任何東西出現!
我也對圖形g和Graphics2D以及何時使用兩者感到困惑。 (重寫的繪圖方法使用Graphics g)。爲了記錄,我通過調用backbuffer.createGraphics()創建了類中的Graphics2D變量;
另一件令我困惑的事情是這個AffineTransform ...我已經閱讀過文檔,但我仍然完全困惑於如何以及何時使用它 - 以及它究竟做了什麼。有沒有比較簡單的解釋?
當然,這應該是工作......我錯過了什麼在這裏?
考慮創建併發布的[SSCCE(http://sscce.org)(請點擊鏈接),這是一個小型的可編譯,可運行的程序,展示了您解決這個問題的最佳嘗試。然後我們可以檢查你的代碼,運行它,修改它,最好能夠幫助你修復它。 – 2011-03-06 15:41:55