isKeyDown不能在Java中工作

时间:2012-06-14 17:18:32

标签: java image input

我正在玩一些java编程,所以当我按下一个键时,我想让一张图片在屏幕上移动。我怎么得到一条消息说“Thu Jun 14 13:14:23 EDT 2012 INFO:控制器不可用”这是我对这个页面的代码

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一旦应用程序启动,太阳就会向上移动并离开屏幕。我做错了什么呢?

1 个答案:

答案 0 :(得分:2)

尝试改变这一点    if(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;} 对此:D

if(input.isKeyDown(Input.KEY_UP)) {sunY -= 1;}