Struttura del programma

setup()

Quando il programma parte setup() è la prima funzione chiamata automaticamente.
Non può essere richiamata da programma.
Si utilizza per definire le proprietà iniziali dell’applicazione (dimensione, colore dello sfondo, …) o per svolgere operazioni (caricare immagini, …) prima che inizi l’esecuzione di draw().

draw()

Dopo l’esecuzione di setup() è la volta di draw().
La sua esecuzione continua finché il programma non termina oppure se c’è una chiamata a noLoop().
Non può essere richiamata da programma ma indirettamente con redraw(), per una volta, oppure con loop(), di nuovo indefinitamente.
Il numero di volte al secondo che avviene l’esecuzione può essere controllato con le funzioni delay() e framerate().
Se si vuole che il codice cicli, per esempio per controllare il mouse, è necessario definire draw() al limite con un blocco vuoto!

redraw()

Esegue una volta il codice all’interno di draw().
Questa funzione permette al programma di aggiornare la finestra grafica solo quando è necessario, per esempio avviene un evento registrato da mousePressed() o keyPressed().
Non ha senso richiamarla all’infuori di questi eventi o addirittura in draw()

loop()

Forza Processing ad eseguire continuamente il codice della funzione draw().

noLoop()

Una chiamata a noLoop() blocca l’esecuzione di draw().
Se la chiamata avviene all’interno di setup() deve essere all’ultima riga del codice.

delay()

Costringe il programma a fermarsi per un tempo specificato.
Il ritardo è specificato in millesimi di secondo.
La chiamata della funzione delay(3000) fermerà il programma per 3 secondi. Siccome lo schermo viene aggiornato solo alla fine di draw(), il programma potrebbe sembrare congelato finché non passa il ritardo.
La funzione ferma il programma appena viene chiamata, tranne nel caso in cui sia in esecuzione per la prima volta la funzione draw(), allora agirà dopo la fine di draw().

exit()

Ferma/interrompe/esce dal programma.
I programmi senza la funzione draw() terminano automaticamente dopo che l’ultima linea di codice è stata eseguita, ma i programmi con draw() continuano nella loro esecuzione finché non vengono fermati manualmente oppure non eseguono exit().
L’interruzione non avviene subito dopo l’esecuzione diexit() ma dopo il completamento di draw().

For Java programmers, this is not the same as System.exit().
Further, System.exit() should not be used because closing out an application while draw() is running may cause a crash (particularly with OpenGL).