java使用slick2d mouselistener来使用这个?
我有一个图像是暂停菜单。它有一个退出按钮。按下退出按钮时,会出现一个对话框。这就是我想要的
所以,我有一个图像,我设置了鼠标应该点击的x和y位置,这样对话框就会出现。我想做一些类似的事情:
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
Input input = gc.getInput();
int xpos = Mouse.getX();
int ypos = Mouse.getY();
if ((xpos > 200 && xpos < 250) && (ypos > 230 && ypos < 260)) {
if (input.isMousePressed(0)) {
g.drawImage("res/Exit Confirmation.png", 200, 400)
}
我知道上面的代码不能是那样的。但有没有类似的方法
代码如下:
import org.lwjgl.input.Mouse;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;
public class Menu extends BasicGameState {
public Menu(int state) {
}
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException {
}
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
Image background = new Image("res/Background.png");
g.drawImage(background, 0, 0);
Image play = new Image("res/Play Button.png");
g.drawImage(play, 275, 50);
Image exit = new Image("res/Exit Button.png");
g.drawImage(exit, 210, 250);
}
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
Input input = gc.getInput();
int xpos = Mouse.getX();
int ypos = Mouse.getY();
if ((xpos > 300 && xpos < 510) && (ypos > 230 && ypos < 260)) {
if (input.isMousePressed(0)) {
sbg.enterState(2); //this will take me to the game.
}
if ((xpos > 200 && xpos < 250) && (ypos > 230 && ypos < 260)) {
//i want this to actually show up a confirmation dialog with my image.
}
}
}
public int getID() {
return 1;
}
}
请帮忙谢谢
# 1 楼答案
好吧,看来你有几个概念上的问题。让我看看能不能帮上忙
下面是代码(虽然我没有测试它,但应该很接近):