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 回答