画面に2つの長方形が描画され、キーボードの矢印キーからのユーザー入力により、長方形の1つ(プレーヤー)が移動する単純なゲームを作成しています。Main
クラスと、Play
すべてのゲーム コードで構成されるクラスを作成しました。このコードには、 、 などのメソッドが含まれておりinit()
、update()
すべてrender()
のinit()
初期条件をupdate()
処理し、入力からの動きとキー入力を処理し、render()
メソッドは描画を処理します。背景や長方形などの画面上のもの。
私が抱えている問題は、レンダークラスに配置して画面に長方形(変数で設定されている)を描画することです。メソッドはGraphic
s で設定されており、必要であると言われているGraphics2D
ので、変更しようとしていますGraphics2D
長方形を描画できるように、グラフィックスを追加しました。
ここに私のコードの一番上にある私の変数で設定された私の Rectangles があります:
Rectangle rectOne = new Rectangle(shiftX, shiftY,90,90);
Rectangle rectTwo = new Rectangle(500 + buckyPositionX, 330 + buckyPositionY, 210, 150);
ここに、graphics2D を使用して四角形を描画しようとしているレンダリング メソッドを示します。
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{
if(rectOne.intersects(rectTwo)){
g.drawString("Intersect", 100, 100);}
if(g instanceof Graphics2D){//error: Incompatible conditional operand type Graphics and Graphics2D
Graphics2D g2 = (Graphics2D)g;}//cannot cast from Graphics to Graphics2D
((Graphics2D)g).fill(rectOne);//cannot cast from Graphics to Graphics2D
((Graphics2D)g).fill(rectTwo);//cannot cast from Graphics to Graphics2D
}
コードの横にあるコメントは、このコードを使用しようとしたときに表示されるエラーを示しています。私の Play クラスからさらにコードや情報が必要な場合は、お知らせください。投稿します。