-2

また、2つのOvalオブジェクトを衝突させることは可能ですか?

   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 オブジェクトを渡します。また、現在の位置とサイズを追跡するためのフィールドをクラスに与えます。

次に、衝突のために、a の線に沿ってクラスを作成してみてくださいCollisionDetector。すべての形状オブジェクトには CollisionDetector があり、形状が移動するたびに、すべての形状に でチェックするように要求しCollisionDetector、次に他のすべての Detector をチェックしてそれらが重なっているかどうかを確認します。

于 2014-05-30T00:23:36.240 に答える