Heb je een robot die uit meerdere delen bestaat, dan kun je alle delen tegelijk laten meebewegen op de muis.
Deze Robot gaan we laten bewegen
function setup() {
createCanvas(400, 400);
strokeWeight(5);
}
function draw() {
background(220);
fill(200, 0, 0);
rect(100, 100, 200);
ellipse(100, 100, 50, 50); // linker oor
ellipse(300, 100, 50, 50); // rechter oor
fill(255, 255, 255);
ellipse(145, 165, 20, 20); // linkeroog
ellipse(255, 165, 20, 20); // rechteroog
ellipse(200, 190, 10, 10); // neus
ellipse(200, 250, 60, 30); // mond
}
De coördinaten zijn vast
Elke rect
en ellipse
staan op een vaste plek. rect(100, 100, 200);
Altijd op positie (100,100). Daar gaan we wat in veranderen. Daarvoor kiezen we een nieuw ‘midden’. Dan laten we die meelopen met de muis via mouseX en mouseY. Dat zijn de coördinaten waar de muis nu is.
Kies het “vaste punt”
We nemen de X,Y van de rechthoek als ‘midden’: (100,100) Dat is ook de coördinaat van het linkeroor. Dus:
// canvas (400,400) // handig deelbaar door 2
// 100,100 // rechthoek
De twee oren kun je nu plaatsen ten opzichte van het punt (100,100). Als mouseX
en mouseY
elk 100 zijn, heb je verder geen aanpassing nodig.
ellipse(100,100,50,50) wordt ellipse(mouseX, mouseY, 50, 50);
ellipse(300,100,50,50) wordt ellipse(mouseX + 200, mouseY, 50, 50); // rechter oor was 300,100
Opdracht
Maak nu de robot af, door alle coördinaten van de ellipses en rects afhankelijk te maken van mouseX
en mouseY
. Je robot blijft intact, maar beweegt nu helemaal mee met de muis.
Width en Height
In dit voorbeeld hebben we de standaard-variabelen mouseX
en mouseY
gebruikt. De andere belangrijke standaard-variabelen zijn width
en height
, de breedte en hoogte van het canvas.
In de volgende LA gaan we aan de slag met eigen variabelen. Het eerste echte programmeren.