-2

另外,是否可以碰撞 2 个椭圆形物体?

   public void paint(Graphics g){
            g.setColor(Color.green);<br/>
            g.fillRect(k, l, 100, 100);<br/>
                g.setColor(Color.blue);<br/>
                g.fillRect(n, m, 100, 100);<br/>
            g.setColor(Color.red);<br/>
            for(int i=0; i<2; i++){<br/>
               g.fillOval((int)x[i],(int)y[i],diameter,diameter);<br/>
            }<br/>
        }
4

1 回答 1

0

您似乎正在将 Swing 用于图形。尽管实际上为您的问题提供代码将是一项相当复杂的任务,但我将尝试引导您朝着正确的方向前进。

最好将矩形(或椭圆)封装到它们自己的类中。给对象一个类似的方法drawSelf(Graphics g)并传入 Graphics 对象。另外,给类字段以跟踪它们当前的位置和大小。

然后,对于碰撞,您可以尝试按照CollisionDetector. 您所有的形状对象都会有一个 CollisionDetector,每次形状移动时,您都会要求所有形状检查它们CollisionDetector的 s,然后检查所有其他检测器以查看它们是否重叠。

于 2014-05-30T00:23:36.240 回答