Omdat we nu software gaan schrijven die soms de volledige kracht van onze processor nodig heeft en omdat we sensoren zullen gebruiken, maken we de transitie van de javascript variant van Processing (P5js) , naar de Java variant (Processing).
Voor een compleet overzicht van de verschillen tussen p5js en Processing: Processing transition
Processing draait niet in de browser, maar direct op je computer en heeft een hele brede ondersteuning van verschillende bibliotheken voor allerhande sensoren en output.
De Java variant van processing kan je downloaden op : http://www.processing.org
Verschillen
De verschillen tussen P5js en Processing zijn terug te leiden naar het feit dat Javascript minder explicitering vereist. Dat wil zeggen dat we bij de Java variant (Processing) wél moeten aangeven welk type variabele we precies willen aanmaken, of wat onze functie precies teruggeeft. We maken het concreet:
setup( ) en draw( )
de functies setup() en draw() worden bij P5js voorafgegaan door het woord “function“. Bij Processing wordt dat woord vervangen door “void“. Void staat voor hetgeen de functie teruggeeft: niets. We zullen zien dat als we straks zelf functies schrijven, dat eerste woord bv. ook “int” of “float” kan zijn, als het gaat om een functie die een getal terugstuurt. Setup() en draw() sturen niets terug, moeten enkel worden uitgevoerd, dus gebruiken we “void“.
P5js
function setup(){ // code hier } function draw(){ // code hier }
Processing
void setup(){ // code hier } void draw(){ // code hier }
createCanvas en size();
Omdat P5js javascript gebaseerd is, maakten we in het begin van het setup blok altijd een HTML5 canvas aan om in te werken. Bij Java is dat niet nodig, maar moeten we uiteraard ook aangeven hoe groot ons programma gaat worden. Dit doen we met de functie size(breedte, hoogte);
P5js
function setup(){ createCanvas(500,800); }
Processing
void setup(){ size(500,800); }
Variabelen declareren
In P5js is het voldoende om aan te geven dat je een variabele wil aanmaken door het woord “var” te gebruiken, gevolgd door de naam. In Processing (en Java) is het nodig om exact aan te geven welk type variabele je wil gaan gebruiken:
P5js
var kommaGetal; var geheelGetal; var aanOfUit; var letter;
Processing
float kommaGetal; int geheelGetal; boolean aanOfUit; char letter;