Java 双打比赛的问题
这很简单,如果比较不起作用,我不知道为什么 代码: 这些是在我的主跑步课中由鼠标adapaer设置的:Java 双打比赛的问题,java,comparison,mouse,collision,Java,Comparison,Mouse,Collision,这很简单,如果比较不起作用,我不知道为什么 代码: 这些是在我的主跑步课中由鼠标adapaer设置的: public Board() throws IOException, URISyntaxException { ... private class MAdapter2 extends MouseAdapter { @Override public void mouseMoved(MouseEvent e) { Game_logic.set_mouse_x
public Board() throws IOException, URISyntaxException {
...
private class MAdapter2 extends MouseAdapter {
@Override
public void mouseMoved(MouseEvent e) {
Game_logic.set_mouse_x(e.getX());
Game_logic.set_mouse_y(e.getY());
}
}
问题是,当我在屏幕上绘制x-width/2、mx和x+width/2(与y相同)时,将鼠标保持在我想要的位置看起来好像语句必须是真的,但
mouseOver
仍然是假的。我该如何解决这个问题?这并不是直接回答你的问题,我只是想表明,如果你的声明变成现实,你的是可能的。我认为您应该打印出mx,my,并将它们与您期望的值进行比较。这可能就是你的问题所在。显然,您还应该检查您对x、y、宽度、高度的选择
public static void main(String[] args) {
boolean mouseOver;
int width = 50;
int height = 50;
double x = 40;
double y = 40;
double mx = 40;
double my = 40;
if ((mx <= x + ((double) width / 2)) && (mx >= x - ((double) width / 2))
&& (my >= y - ((double) height / 2))
&& (my <= y + ((double) height / 2))) {
mouseOver = true;
} else {
mouseOver = false;
}
System.out.println(mouseOver);
}
publicstaticvoidmain(字符串[]args){
布尔鼠标盖;
整数宽度=50;
整数高度=50;
双x=40;
双y=40;
双mx=40;
双倍my=40;
如果((mx=x-((双倍)宽度/2))
&&(车型年款>=y-((双倍)高度/2))
&& (我为什么不只用鼠标听器呢?你有没有试过打印你的值来看看会出现什么?另外,为了更快地获得更好的帮助,请发布一个.Hm,可能我表达得不够清楚,但我确实在屏幕上打印出了所有这些变量。这里是
s屏幕截图:呵呵,没关系,发现这是由其他问题引起的,所以我可能会为此创建单独的线程。
public Board() throws IOException, URISyntaxException {
...
private class MAdapter2 extends MouseAdapter {
@Override
public void mouseMoved(MouseEvent e) {
Game_logic.set_mouse_x(e.getX());
Game_logic.set_mouse_y(e.getY());
}
}
public static void main(String[] args) {
boolean mouseOver;
int width = 50;
int height = 50;
double x = 40;
double y = 40;
double mx = 40;
double my = 40;
if ((mx <= x + ((double) width / 2)) && (mx >= x - ((double) width / 2))
&& (my >= y - ((double) height / 2))
&& (my <= y + ((double) height / 2))) {
mouseOver = true;
} else {
mouseOver = false;
}
System.out.println(mouseOver);
}