0

障害物がある 2D マップ上に長方形がある 2D Java ゲームを作成しました。長方形との衝突を設定していましたが、機能していませんでした。さらに実験を行った後、すぐに障害物のために作成した長方形がつまり、座標 0, 0 に長方形を設定すると、GUI の左上に残り、プレーヤーを移動すると移動します。常にそこにとどまり、マップに固定されません。

次の変数を設定しています。

Animation bucky, movingUp, movingDown, movingLeft, movingRight
Image worldMap;
boolean quit = false;
int[] duration = {200, 200};
int buckyPositionX = 0;
int buckyPositionY = 0;
int shiftX = buckyPositionX + 320;
int shiftY = buckyPositionY + 160;

私の render メソッドの下には、次のものがあります。

public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{
worldMap.draw(buckyPositionX, buckyPositionY);//position 0,0
bucky.draw(shiftX, shiftY);//makes him appear at center of map

if(quit==true){
    g.drawString("Resume(R)", 250, 100);
    g.drawString("Main(M)", 250, 150);
    g.drawString("Quit Game(Q)", 250, 200);      
    if(quit==false){
        g.clear();
    }
}
}

render メソッドの中に入れた場合:

g.fillRect(0,0,100,100);

長方形は画面の左上隅にとどまります。これは、変数を使用して長方形を設定し、衝突を作成しようとしたときに発生すると想定しています。これが、衝突が機能しない理由です。全体的な問題は、コードを編集して、長方形をマップに固定し、プレーヤーで動き回らないようにする方法です。

4

1 に答える 1

0
 if(quit==false){
        g.clear();
 }

セクションが実行されることはありません。

于 2012-12-27T04:48:06.993 に答える