'Creating a class out of small 10print program
I wanted to take this little 10print program (credit to codingtrain) and turn into a class but ran into this weird problem: the OOP version is not working, while the non OOP is going all the way down.
It's the same code so why is it not working, this is a real mystery to me? All of the variables are encapsulated in the class and refrenced with the "this." keyword so why it is acting differently?
let xx = 0;
let yy = 0;
let spacing = 20;
function setup() {
createCanvas(400, 400);
background(0);
}
function draw() {
stroke(255);
if (random(1) < 0.5) {
fill(2, 24, 242)
line(xx, yy, xx + spacing, yy + spacing);
} else {
line(xx, yy + spacing, xx + spacing, yy);
}
xx = xx + spacing;
if (xx > width) {
xx = 0;
yy = yy + spacing;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.js"></script>
let tenPrint;
function setup() {
createCanvas(500, 500);
tenPrint = new Tenprint();
}
function draw() {
tenPrint.drawit();
}
class Tenprint {
constructor() {
this.xx = 0;
this.yy = 0;
this.spacing = 20;
}
drawit() {
stroke(55);
if (random(1) < 0.5) {
fill(2, 24, 242)
line(this.xx, this.yy, this.xx + this.spacing, this.yy + this.spacing);
} else {
line(this.xx, this.yy + this.spacing, this.xx + this.spacing, this.yy);
}
this.xx = this.xx + this.spacing;
if (this.xx > this.width) {
this.xx = 0;
this.yy = this.yy + this.spacing;
}
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.js"></script>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
