首页 > 解决方案 > 我如何才能对物体执行重力,直到它们在 Java 中以 2d 形式接触地板?

问题描述

我在 Java 中研究 2d 物理。现在我创建球并对其执行重力。我增加所有球的 y 坐标,直到球触地。增加值就像现实生活中的秋天一样变化。但它不能正常工作。

        if(e.getSource() == gravityTimer){
        for(int i = 0; i < circles.size(); i++){

            if(circles.get(i).getY() + circles.get(i).getRadius() + fallingSpeds.get(i) <= 640){
                if(a%2==1)fallingSpeds.set(i,(fallingSpeds.get(i) + 1));// to increase one in two

                a++;
                if(!isHolding.get(i)){// I want don't move ball that holding
                    circles.get(i).setY(circles.get(i).getY() + fallingSpeds.get(i));
                }
            }else{fallingSpeds.set(i, 0);}
        }
        repaint();
    }
}

我试着去理解一个球是否触到了地板。但有时球会留在地板下或沉到地板上。

你能给我更正确的方法吗?

标签: java2dgravity

解决方案


推荐阅读