2014-10-15 2 views
0

Так что я в настоящее время пытаюсь выяснить, как сделать программу, которая рисует 5 последовательных «X» с помощью цикла for. Я пытаюсь сделать линии отстоят друг от друга на 30 пикселей, как так \ ... \ ... \ ... \ ... \ это то, что я до сих пор:Последовательный «X» s drawLine() Java

int y = 50; 
int x = 70; 

for (int z = 0; z <= 150; z += 30){ 
      g.setColor(Color.BLUE); 
      g.drawLine(x+z*2, y+30, x+z, y); 
} 

Этот код только рисует только рисует одну строку X, но мне нужно выяснить, как рисовать одну строку, прежде чем я смогу сделать вторую. В настоящее время он печатает линии, равномерно расположенные на расстоянии 30 пикселей друг от друга, но через каждый цикл угол линии становится все больше и больше, когда это должно быть 45. Btw Я знаю, что для меня существует множество других способов сделать это, но я должен использовать только для циклов.

+1

Помните, что 'drawLine' работает, рисуя линию из точки A (x/y) в точку B (x/y), а не ширину/высоту, как и многие другие графические методы;) – MadProgrammer

ответ

0

Вы умножаете z на 2 для одного x-точки, но не другого. Вероятно, вы захотите добавить постоянное значение вместо умножения. Прямо сейчас, смещение каждого шага будет значением z, например, увеличивается на 30 каждый раз.

Я бы поменял ваш drawLine на номер g.drawLine(x + z + 30, y + 30, x + z, y);.

+0

Это сработало отлично! Я знал, что мне нужна константа, но я не совсем знал, как ее реализовать. Я пару часов играл с цифрами и уравнениями, и это было так просто. Спасибо. – EwokHugz

Смежные вопросы