p5 onderdelen¶
Setup()¶
De setup()
functie is een speciale functie in p5.js die slechts één keer wordt uitgevoerd wanneer je programma wordt gestart. Het is het eerste stukje code dat wordt uitgevoerd en wordt gebruikt om de initiële instellingen van je canvas en je p5.js-applicatie te configureren.
In de setup()
functie kun je verschillende dingen instellen, zoals het creëren van een canvas met een specifieke breedte en hoogte, en het initialiseren van variabelen en objecten die je in je draw()
functie wilt gebruiken.
Draw()¶
De draw()
functie is een andere belangrijke functie in p5.js en wordt continu herhaald, afhankelijk van de frameRate()
. Het wordt gebruikt om de dynamische elementen van je p5.js-applicatie te creëren, zoals animaties of interactieve elementen.
In de draw()
functie plaats je de code die je wilt herhalen om de status van je canvas te wijzigen.
In het onderstaande voorbeeld wordt een cirkel getekend op basis van de horizontale positie van de muis, waardoor de cirkel horizontaal beweegt terwijl de muis wordt verplaatst.
Voorbeeld draw()
```js
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
// Gebruik constrain om de x-positie in het scherm te houden.
let x = constrain(mouseX, 0, width);
let y = height / 2;
let diameter = 50;
ellipse(x, y, diameter, diameter);
}
```
</div>
<div id="drawExample"></div>
Structuur¶
In de diagrammen hieronder kun je alle functies vinden die p5 automatisch aanroept.
In het onderdeel “Events” staan functies die worden aangeroepen door p5 als je browser een event van dat type ontvangt. Als je deze functies zelf implementeert, kun je de staat van je sketch veranderen wanneer een van deze “Events” wordt waargenomen.
Voor meer informatie over de functies kun je erop klikken en dan word je doorverwezen naar de documentatiepagina van p5.js.
flowchart TB
subgraph Loop
direction TB
subgraph Initialize
direction LR
preload("preload()") --> setup("setup()")
click preload "https://p5js.org/reference/#/p5/preload" _blank
click setup "https://p5js.org/reference/#/p5/setup" _blank
end
subgraph Draw
direction LR
draw("draw()") --> isLooping{"isLooping()"} -- true --> draw
isLooping -- false --> isLooping
click draw "https://p5js.org/reference/#/p5/draw" _blank
click isLooping "https://p5js.org/reference/#/p5/isLooping" _blank
end
setup --> draw
end
Events¶
Events zijn acties die je browser binnenkrijgt. In p5.js zijn er al een aantal vooraf gedefinieerd en verbonden aan functies. Als je één van deze functies zelf implementeert, kun je de staat van je sketch veranderen wanneer een van deze “Events” wordt waargenomen.
flowchart TB
subgraph Events
direction TB
subgraph Key
direction LR
keyPressed("keyPressed()")
keyReleased("keyReleased()")
keyTyped("keyTyped()")
%% TODO: _blank does not work for new pages dont know why
click keyPressed "https://p5js.org/reference/#/p5/keyPressed" _blank
click keyReleased "https://p5js.org/reference/#/p5/keyReleased" _blank
click keyTyped "https://p5js.org/reference/#/p5/keyTyped" _blank
end
subgraph Mouse
direction LR
mouseMoved("mouseMoved()")
mouseDragged("mouseDragged()")
mousePressed("mousePressed()")
mouseReleased("mouseReleased()")
mouseClicked("mouseClicked()")
doubleClicked("doubleClicked()")
mouseWheel("mouseWheel()")
click mouseMoved "https://p5js.org/reference/#/p5/mouseMoved" _blank
click mouseDragged "https://p5js.org/reference/#/p5/mouseDragged" _blank
click mousePressed "https://p5js.org/reference/#/p5/mousePressed" _blank
click mouseReleased "https://p5js.org/reference/#/p5/mouseReleased" _blank
click mouseClicked "https://p5js.org/reference/#/p5/mouseClicked" _blank
click doubleClicked "https://p5js.org/reference/#/p5/doubleClicked" _blank
click mouseWheel "https://p5js.org/reference/#/p5/mouseWheel" _blank
end
end
Samenvatting¶
- De
preload()
functie wordt eenmaal uitgevoerd voordat de setup() functie wordt uitgevoerd om plaatjes en andere bestanden in te laden. - De
setup()
functie wordt eenmaal uitgevoerd bij het starten van je programma. - De
draw()
functie wordt continu herhaald om dynamische elementen in je p5.js-applicatie te creëren. - Events zijn acties die je browser binnenkrijgt. In p5.js zijn er al een aantal vooraf gedefinieerd en verbonden aan functies.
Door gebruik te maken van deze twee functies en Events, kun je statische en interactieve grafische applicaties maken met p5.js.