Я реализую небольшую игру (основное состояние игры), и мне сложно перемещаться по кнопкам. У меня есть меню классов, которое содержит 3 кнопки: Play, How To Play and Exit. Например, когда я нажимаю кнопку «Как играть», она перенаправляет меня в класс «Как играть». В Как играть в класс У меня есть только кнопка: Назад, которая, как предполагается, перенаправляет меня обратно в класс меню. Все работает, но когда я нажимаю кнопку «Назад», он выходит из игры, и это связано с тем, что он имеет те же координаты, что и кнопка «Выход» из меню. Как я могу остановить распространение? Мой код, как:Распространение событий мыши 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);
}
Пожалуйста, помогите, спасибо.