2013-10-09 1 views
0

Я сделал кучу треугольников, которые находятся внутри друг друга, я пытаюсь установить цвет так, чтобы каждый треугольник был случайным цветом. Как я могу это сделать? Я попыталсянастройка цветов для различных фигур с помощью java

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); 
     } 

Треугольник действительно создает то, что я хотите тоже, вложенные треугольники, просто не получите цвет правильно.

+1

Пожалуйста, пост код, чтобы мы на самом деле есть что-то ссылаться –

ответ

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); 
}  

Надеюсь, это поможет проиллюстрировать, в чем проблема.

+0

я установить постоянный мой цвет и выражение, как у вас здесь , как глобальная константа, поэтому она давала однородный цвет ... Моя проблема в том, что я только получаю черный, белый и оттенки серого ... – user2809437

+0

@user: Я обновил свой ответ, я не понимал, что вам нужны цвета, кроме серого. –

0

вам необходимо установить новый цвет каждый раз, когда вы хотите, чтобы нарисовать треугольник следующим образом:

g2d.setColor(aColor); 
g2d.drawPolygon(); // triangle 
g2d.setColor(bColor); 
g2d.drawPolygon(); // triangle 
+0

Существует большой треугольник, а затем внутри него меньший треугольник, затем в этом треугольнике меньший треугольник, который продолжается примерно на 10 треугольников. Поэтому каждый «вложенный» треугольник должен быть другого цвета, но когда я делаю g2.setColor (новый цвет (ЦВЕТ, ЦВЕТ, ЦВЕТ)); как мне покрасить каждый из них? – user2809437

+0

да, то? каждый вложенный треугольник будет иметь другой цвет, если вы установите цвет для графики g2d с помощью setColor (newColor) прямо перед тем, как рисовать новый Треугольник, как я показал в коде. – Sage

+0

@user: Вам также нужно рандомизировать ЦВЕТ каждый раз (см. Мой ответ) –