0

互いに内側にあるたくさんの三角形を作成しました。各三角形がランダムな色になるように色を設定しようとしています..どうすればこれを行うことができますか? 私は試した

g2.setColor(new Color(COLOUR,COLOUR,COLOUR)); 

COLOUR=(int)(Math.random()*256) 

次に、三角形を塗りつぶしましたが、すべての三角形が同じ色になってしまいます....

       for ( int i=0 ; i<triangle.size() ; i++) {
            Triangle tri
            tri=triangle.get(i);
            g2.setColor(new Color(COLOR,COLOR,COLOR));
            tri.draw(g2);
      }

三角形は、私が望むもの、入れ子になった三角形も作成しますが、正しく色付けすることはできません。

4

2 に答える 2

1

各三角形を描画する前に、色をランダム化する必要があります。灰色以外の色が必要な場合は、色の各コンポーネント (赤、緑、青) を個別に初期化する必要もあります。

 int redColor,greenColor,blueColor;
 for ( int i=0 ; i<triangle.size() ; i++) {
        Triangle tri;
        tri=triangle.get(i);
        redColor=(int)(Math.random()*255);
        greenColor=(int)(Math.random()*255);
        blueColor=(int)(Math.random()*255);
        g2.setColor(new Color(redColor,greenColor,blueColor));
        tri.draw(g2);
 }    

うまくいけば、これは問題が何であるかを説明するのに役立ちます.

于 2013-10-09T01:03:23.827 に答える
0

次のように、三角形を描画するたびに新しい色を設定する必要があります。

g2d.setColor(aColor);
g2d.drawPolygon(); // triangle 
g2d.setColor(bColor);
g2d.drawPolygon(); // triangle 
于 2013-10-09T01:05:14.220 に答える