Reputation: 504
I'm drawing rectangles in a random sequence, but i want to draw lines on TOP of these rectangles, in the same random sequence, to create a pattern as a layer on top of the rectangles. Why is the last part of my code where i try this is not visible, the lines are located after the rectangles so they should get drawn after as well and therefor on top?
<script src="https://cdn.jsdelivr.net/npm/[email protected]/processing.min.js"></script>
<script type="application/processing">
int spacing = 10;
int x, y;
int spacing2 = 10;
int x2, y2;
void setup() {
size(800, 800);
noStroke();
background(52, 122, 235);
}
void draw() {
float j = random(2);
if (j < 1) {
if (j < 0.5) {
fill(0, 0, 255);
}
if (j > 0.7) {
fill(0, 0, 155);
}
rect(x, y, spacing, spacing);
}
x = x + spacing;
if (x > width) {
x = 0;
y = y + spacing;
}
//WHY IS THE LINES NOT SHOWING UP?
if (j > 1) {
line(x, y, x + spacing, y + spacing); // "\"
} else {
line(x, y + spacing, x + spacing, y); // "/"
}
}
</script>
<canvas></canvas>
Upvotes: 1
Views: 51
Reputation: 20140
<script src="https://cdn.jsdelivr.net/npm/[email protected]/processing.min.js"></script>
<script type="application/processing">
int spacing = 10;
int x, y;
int spacing2 = 10;
int x2, y2;
void setup() {
size(800, 800);
noStroke();
background(52, 122, 235);
}
void draw() {
float j = random(2);
if (j < 1) {
noStroke();
if (j < 0.5) {
fill(0, 0, 255);
}
if (j > 0.7) {
fill(0, 0, 155);
}
rect(x, y, spacing, spacing);
}
x = x + spacing;
if (x > width) {
x = 0;
y = y + spacing;
}
// This wasn't showing up because there was no stroke color specified and
// you call noStroke() in setup.
stroke(255, 0, 0);
if (j > 1) {
line(x, y, x + spacing, y + spacing); // "\"
} else {
line(x, y + spacing, x + spacing, y); // "/"
}
}
</script>
<canvas></canvas>
Upvotes: 2