java - 某些代码有问题...?

标签 java object graphics move

我正在制作一个程序(在java中),当您按下开始按钮时,它会生成一条从JWindow墙壁弹起的线(通过制作一个 move 但不清洁屏幕的椭圆形来创建)。我有三个文件:一个包含 main 方法的主文件,另一个包含 ounceThreadFrame 代码的文件,最后一个包含 ball 代码的文件。一切正常,只是线条不会从屏幕左侧反弹。我应该如何改变它,使其从左侧弹起?如果您需要其余代码,请告诉我。下面的代码是球的 move() 方法的代码。

Graphics g=box.getGraphics();
    g.fillOval(x, y, xsize, ysize);
    x += dx;
    y += dy;
    Dimension d=box.getSize();
    if (x<0){
        x=0;
        x= dx;
    }
    if (x+xsize>=d.width){
        x=d.width-xsize;
        dx= -dx;
    }
    if (y<0){
        y=0;
        dy= -dy;
    }
    if(y+ysize>=d.height){
        y=d.height-ysize;
        dy= -dy;
    }
    g.fillOval(x,y,xsize,ysize);
}

最佳答案

这就是问题:

if (x<0){
    x=0;
    x= dx;
}

即设置 x 两次,并且不更改 dx。在每个其他 block 中,您都会改变位置,然后反转方向。我怀疑你想要:

if (x < 0) {
    x = 0;
    dx = -dx;
}

关于java - 某些代码有问题...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798741/

相关文章:

java - 如何在 JSpinner 中使用 ChangeListener?

java - IWAB0399E 从 WSDL 生成 Java 时出错 : java. io.IOException : Type {http://www. w3.org/2001/XMLSchema}array 被引用但未定义

java - 我们应该如何验证正则表达式语法

json - 使用 JQ 从 JSON 中选择特定的、任意嵌套的对象

c - 将图像放置在固定布局 GTK2 中

java - 如何将参数指定为每个 Web 服务调用的一部分?

javascript - 将 js 对象作为 json 传递给 jquery?

Javascript 对象访问

c# - 'System.Drawing.Graphics.FromImage(System.Drawing.Image )' is a ' 方法'但像 'type' 一样使用

java - 使用比屏幕大得多的 Canvas