0
我實現的一個小遊戲(基本遊戲狀態),我也很難用按鈕導航。 我有一個類包含3個按鈕的菜單:播放,如何播放和退出。 例如,當我點擊How To Play按鈕時,它會將我重定向到How To Play類。 在如何玩類我只有一個按鈕:返回這是假設重定向我回到Menu類。 一切正常,但當我點擊後退按鈕它退出遊戲,這是因爲它具有與菜單中的退出按鈕相同的座標。 如何阻止傳播? 我的代碼是這樣的:Slick2D鼠標事件傳播
Main Class:
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{ // update the images on screen to create image movement illusion
Input input = gc.getInput();
mouseX = Mouse.getX();
mouseY = gc.getHeight()-Mouse.getY();
position = "*xpos: "+mouseX+" ypos:"+mouseY;
buttonsListener(input, sbg);
}
public void buttonsListener(Input input, StateBasedGame sbg) throws SlickException
{
if((mouseX>130&&mouseX<477)&&(mouseY>308&&mouseY<377))//play button
if(input.isMouseButtonDown(0))
sbg.enterState(1);
if((mouseX>130&&mouseX<477)&&(mouseY>408&&mouseY<477))//how to play button
if(input.isMouseButtonDown(0))
sbg.enterState(2);
if((mouseX>130&&mouseX<477)&&(mouseY>508&&mouseY<577))//exit button
if(input.isMouseButtonDown(0))
System.exit(0);
}
和:
HowToPlay Class:
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{
Input input = gc.getInput();
mouseX = Mouse.getX();
mouseY = gc.getHeight()-Mouse.getY();
if((mouseX>130&&mouseX<477)&&(mouseY>508&&mouseY<577))//back button
if(input.isMouseButtonDown(0))
sbg.enterState(0);
}
請幫忙,謝謝。