Использование фона только для одной функции - PullRequest
2 голосов
/ 20 июня 2020

Я работал над анимацией на обработке . Тогда у меня вопрос по коду. Обычно мой код более длинный. Однако я сделал простой код, который может пригодиться и новичкам. Мой пример кода:

int x1 = 0;
int x2 = 0;

void setup() {
  size(500, 100); // create a screen
}

void draw() {
  background(255);
  drawRectangle();
  drawPoint();
}

void drawRectangle() {
  rect(x1, 20, 20, 20); // rect(x, y, width,height);
  x1 +=5;
}

void drawPoint() {
  point(x2, 20); // point(x, y);
  x2++;
}

Итак, у меня есть точки и прямоугольник в одном направлении. background влияет на оба. Однако фон не должен влиять на точки. Так же хочу провести линию точками. Фон должен воздействовать только на прямоугольник. Решение должно выглядеть так: введите описание изображения здесь

1 Ответ

2 голосов
/ 20 июня 2020

Вы захотите применить к этому гораздо более простой подход. Вместо того, чтобы рисовать линию с несколькими точками, вместо этого нарисуйте настоящую линию! И вы также можете использовать только 1 x.

Это небольшой пример программы, которая выдает следующий результат:

int x = 10, y = 50;

void setup() {
  size(400, 400);
  rectMode(CENTER); // So the values you give rect() are seen as the center of the rectangle
}

void draw() {
  background(255);

  drawLine();
  drawRectangle();

  x += 3;
}

void drawLine() {
  strokeWeight(5); // Make the line more visible
  line(0, y, x, y); // Draw a line from the left of the screen to x
  strokeWeight(1); // Return to standard
}

void drawRectangle() {
  fill(255, 0, 0); // Make the color red
  rect(x, y, 20, 20); // Draw the rectangle
}

Пример

...