In de vorige oefening heb je gewerkt met de stuiterende bal. En toen nog een. Jolaho.
Nu gaan we een hele bak vol stuiterende ballen maken.
let myBall;
let myBallBin;
function setup() {
createCanvas(400, 400);
myBall = new bouncingBall(10, 10, 3, 2, "purple", "");
myBallBin = [myBall];
}
function draw() {
background(220);
myBall.draw();
for (let i = 0; i < myBallBin.length; i++) {
myBallBin[i].draw();
}
}
function keyPressed() {
if (key === "n") {
let newBall = new bouncingBall(
10,
14,
random(0, 5),
random(5, 10),
"yellow"
);
myBallBin.push(newBall);
console.log("new");
}
}
Toevoegen aan de array
Dit is dus hoe het gaat:
- je maakt een array
myBallBin = [myBall]
- er zit maar 1 bal in de ballenbak
- als je op de n drukt komt er een nieuwe bouncingBall dankzij
let newBall = new bouncingBall(10,14,random(0, 5), random(5, 10), "yellow" );
- de nieuwe bal
newBall
wordt metpush
toegevoegd aanmyBallBin
. - de draw is aangepast met een for-loop over alle elementen van het array
Maak de volgende deelopdrachten allemaal in dezelfde sketch
Opdracht 1 Aanpassingen aan de newBall
- Pas de
keyPressed
aan zodat er niet allemaal dezelfde gele ballen komen maar telkens ballen met random x en random y-speed – binnen bepaalde grenzen. Gebruik bijvooorbeeldrandom(1,10)
- Maak een array met een beperkt aantal kleuren en kies hieruit een random kleur
Opdracht 2: Op 2 manieren deleten
In de Javascript Reference op MDN worden 3 manieren beschreven om elementen uit de array te wissen. We doen er 2.
- Met de letter ‘p’ pop je het laatste element van de array.
- Met de letter ‘h’ shift je het eerste element uit de array.
Met de letter ‘c’ laat je de array splicen. Geef als parameter mee de index van het element dat je verwijdert