2012-06-14 51 views
0

我只是在玩一些java編程,所以我想要一張圖片在按下某個鍵時在屏幕上移動。如何過我得到一個消息說:「週四6月14日13時14分23秒EDT 2012 INFO:控制器不可用」,這是我對這個頁面isKeyDown不能在Java中工作

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語句對象將移動方向與我一起按下一個鍵,所以如果我有if(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;}應用程序啓動時,太陽升起和離開屏幕。我爲此發生了什麼錯誤?

+0

爲了更好地幫助越早,張貼[SSCCE(http://sscce.org/)。 –

回答

2

嘗試改變這種 if(input.isKeyDown(Input.KEY_UP)); {sunY -= 1;} 這樣:d

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

@MichaelZeuner換句話說,刪除if語句後面的分號。 if語句之後的分號是一個正在執行的空語句,而不是行'{sunY - = 1;}' – AndyPerfect