Les 11 - classes
Hier is de presentatie van de les over classes: Javascript les 11 - classes & objecten.pdf
//een lege array waar we een
//x-aantal noten in kunnen opslaan
let noten = [];
function setup (){
createCanvas(windowWidth,windowHeight);
fullscreen();
background(255);
//met behulp van een for-loop kunnen we
//een x-aantal keer een nieuwe noot toevoegen
//aan de noten-array.
for (let i = 0;i < 10;i++) {
//met de push-functie voeg je een element toe
//aan het eind van de array.
//
//Het nieuwe object dat aangemaakt is vanuit
//de class-omschrijving wordt in de array gezet.
//tegelijk wordt de constructor-method uit de
//class-omschrijving uitgevoerd.
noten.push(new Note())
}
}
function draw() {
//laat de for-loop zovaak herhalen als het aantal
//elementen in de array.
for (let i = 0; i < noten.length; i++) {
//voer de teken-method uit de class-
//omschrijving uit.
noten[i].teken();
}
}
function mousePressed() {
//voeg een nieuwe noot aan het eind
//van de array toe, elke keer als
//er op de muis wordt geklikt.
noten.push(new Note())
}
class Note {
//deze constructor-method wordt uitgevoerd zodra er
//een nieuwe object vanuit deze class-omschrijving wordt
//gemaakt.
constructor() {
//met this.x, this.y, etc. wordt er een unieke
//variabele gemaakt die alleen voor het object
//dat wordt gemaakt geldt.
this.x = random(20,width-20);
this.y = random(60,height-20);
this.s = random(3,20);
}
// je kan oneindig veel methods (functies binnen
// een object) aanmaken in je class-
// omschrijving. Deze teken()-method
// zorgt ervoor dat een kwart-noot
// wordt getekend.
teken() {
fill(0);
ellipse(this.x,this.y,this.s);
line(this.x+this.s/2,this.y,this.x+this.s/2,this.y-this.s*3);
}
}