In my 'show' function I have this command: point(this.position.x, this.position.y);
This does not cause a point to appear, note I have tried printing these values out directly before this point(..) call and they exist and are within the frame. I have also tried parsing them to an int and passing but no luck.
However:
- Passing e.g. 100, 100 to this function makes the point show up
- Setting this.position.x and this.position.y to e.g. 100 before point(..) call makes the point show up
- Passing e.g. 100, 100 to new Particle(random(width), height); instead of using width and height also works
- Assigning new variables to values of this.position.x and this.position.y respectively then passing those to point also does not show the point
Please find below my code, I have no idea what the issue is
var firework;
function setup() {
createCanvas(500, 400);
stroke('purple');
strokeWeight(10);
firework = new Particle(random(width), height);
}
function draw() {
background(51);
firework.update();
firework.show();
}
function Particle(x, y) {
this.position = createVector(x, y);
this.velocity = createVector(0, 0);
this.acceleration = createVector(0, 0);
this.applyForce = function(force) {
this.acceleration.add(force);
}
this.update = function() {
this.position.add(this.velocity);
this.velocity.add(this.acceleration);
this.acceleration.mult(0);
};
this.show = function() {
point(this.position.x, this.position.y);
};
}