我有三个区域设置为我的应用程序中的按钮,它们可以工作,但出于某种原因,我必须多次点击它才能执行它应该做的事情。这是因为它检查用户是否点击了该特定区域?
(我使用LWJGL / Slick2D)
public void update(GameContainer gc, StateBasedGame sbg, int delta)throws SlickException {
int xpos = Mouse.getX();
int ypos = Mouse.getY();
//Play Game Button
if((xpos > 276 && xpos < 556 ) && (ypos > 230 && ypos < 270)) {
if(Mouse.isButtonDown(0)) {
sbg.enterState(1);
click = new Sound("res/click.wav");
click.play();
TOW = new Music("res/TownOfWishes.ogg");
TOW.loop();
TOW.setVolume(0.1f);
}
}
//Exit Game Button
if((xpos > 276 && xpos < 556 ) && (ypos > 154 && ypos < 195)) {
if(Mouse.isButtonDown(0)) {
click = new Sound("res/click.wav");
click.play();
System.exit(0);
}
}
//Settings Game Button
if((xpos > 276 && xpos < 556 ) && (ypos > 80 && ypos < 121)) {
if(Mouse.isButtonDown(0)) {
click = new Sound("res/click.wav");
click.stop();
sbg.enterState(2);
}
}
}
答案 0 :(得分:0)
您的代码看起来不错,但您的问题可能是您的坐标系(正交矩阵设置)或您的实际计算本身。尝试仔细检查你的数学。