Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 双打比赛的问题_Java_Comparison_Mouse_Collision - Fatal编程技术网

Java 双打比赛的问题

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

这很简单,如果比较不起作用,我不知道为什么

代码:

这些是在我的主跑步课中由鼠标adapaer设置的:

 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);
}