画面上に 2 つの四角形があり、一方の四角形が移動し、もう一方が静止している単純な Java ゲームをコーディングしました。移動する四角形はキーボードの矢印入力で移動し、上下左右に移動できます。私が抱えている問題は、画面に長方形を描画することです。次のように変数を設定しています。
float buckyPositionX = 0;
float buckyPositionY = 0;
float shiftX = buckyPositionX + 320;//keeps user in the middle of the screem
float shiftY = buckyPositionY + 160;//the numbers are half of the screen size
//my two rectangles are shown under here
Float rectOne = new Rectangle2D.Float(shiftX, shiftY,90,90);
Float rectTwo = new Rectangle2D.Float(500 + buckyPositionX, 330 + buckyPositionY, 210, 150);
そして、render メソッド (画面に描画するすべてのものを保持します) の下で、Java に 2 つの四角形を描画するように指示しました。
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{
//draws the two rectangles on the screen
g.fillRect(rectOne.getX(), rectOne.getY(), rectOne.getWidth(), rectOne.getHeight());
g.fillRect(rectTwo.getX(), rectTwo.getY(), rectTwo.getWidth(), rectTwo.getHeight());
}
しかし、fillRect の下に次のエラーが表示されます。
This method fillRect(float,float,float,float) in the type graphics is
not applicable for the arguments (double,double,double,double)
これは私が理解していることから、fillRectで提供される情報はすべてがフロートであるべきだと言っているので、私を混乱させています。なぜこのエラーが発生し続けるのですか?