我編寫了一個簡單的Java遊戲,其中有兩個矩形在屏幕上,其中一個矩形移動,另一個保持不動,移動的矩形移動與鍵盤箭頭輸入並可以向上,向下,向左或向右移動。我有被畫我的矩形屏幕上的問題,我的意思是我有2個矩形設置與我的變量,如下所示:有什麼辦法使用圖形類繪製一個可變的矩形
Rectangle rectOne = new Rectangle(shiftX, shiftY,90,90);
Rectangle rectTwo = new Rectangle(500 + buckyPositionX, 330 + buckyPositionY, 210, 150);
我已經做了渲染方法來繪製屏幕上的東西,我想所示:
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{
}
我有是表示由render方法編寫的代碼我在屏幕上矩形的問題,我可以做到以下幾點:
g.fillRect(x, y,90,90);
g.fillRect(500 + buckyPositionX, 330 + buckyPositionY, 210, 150);
這使屏幕上有2個矩形,但我需要使用用變量編寫的矩形代碼繪製矩形,我被告知可以使用Graphics2D來完成,但是我想知道是否有更簡單的方法來使用圖形函數,如果不是,你能幫我設置一下嗎?
預先感謝您。
謝謝你回答我的問題。我現在有一個新的問題,你可能能夠幫助我,我用fillRect(rectOne.getX()...並得到一個錯誤,說fillRect方法需要(float,float,float.float)而不是(double,double,double,double),我想這可能是因爲我的變量,我的rectOne需要shiftX和shiftY變量和rectTwo需要buckyPositionX和buckyPositionY,所有這些變量都是int,如果我改變它們以浮動我的Rectangle變量get錯誤,但如果我將它們更改爲int fillRect獲取錯誤,我該如何解決此問題? –
將它們投射爲double或使用Rectangle2D.Double而不是Rectangle,這是一個內部類僅用於此 – Jack
我已嘗試過,但不斷獲取fillRect下面的錯誤:「此方法fillRect(float,float,float,float)在類型圖形中不適用於參數(double,double,double,double)」 –