0

私はJavaプログラミングをいじっているだけなので、キーを押すと画像が画面上を移動するようにしたかったのです。「Thu Jun 14 13:14:23 EDT 2012 INFO:Controllers not available」というメッセージが表示された場合、これはこのページのコードです

public class Menu extends BasicGameState
{
    Image sun;
    int sunX = 200;
    int sunY = 200;

    public void init(GameContainer gc, StateBasedGame sbg) throws SlickException
    {
        sun = new Image("res/sun.png");
    }

    public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException
    {
        g.drawImage(sun, sunX, sunY);
    }

    public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException
    {
        Input input = gc.getInput();
        if(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;}
        if(input.isKeyDown(Input.KEY_DOWN)); {sunY += 1;}
        if(input.isKeyDown(Input.KEY_LEFT)); {sunX -= 1;}
        if(input.isKeyDown(Input.KEY_RIGHT)); {sunX += 1;}
    }
}

現在、オブジェクトが同じ場所で言うように実行すると、ifステートメントが1つしかない場合、キーを押さなくてもオブジェクトがその方向に移動するためif(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;}、アプリが起動するとすぐに太陽が上に移動し、画面から外れます。これが起こるために私は何を間違ったのですか?

4

1 に答える 1

2

これをこれに変更してみてください if(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;} :D

if(input.isKeyDown(Input.KEY_UP)) {sunY -= 1;}
于 2012-06-14T17:36:36.363 に答える