Processing è una libreria grafica che consente di sviluppare applicazioni di vario tipo, come videogiochi, animazioni, contenuti interattivi e opere d'arte generativa.[1][2]
Basandosi sul linguaggio Java, ne eredita la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti, ma in più mette a disposizione numerose funzionalità per gestire in modo facile gli aspetti grafici e multimediali.
È distribuito nei termini della licenza libera GNU General Public License (GPL) ed è compatibile con i sistemi operativi Linux, macOS e Microsoft Windows.[3]
Processing può interagire con la scheda hardware Arduino.
Il pacchetto, scaricabile gratuitamente dal sito ufficiale, mette a disposizione un ambiente di sviluppo integrato (IDE).
Le varie creazioni sono chiamate sketch e sono organizzate in uno sketchbook. Ogni sketch contiene in genere, oltre alle classi che lo compongono, anche una cartella data in cui viene inserito il materiale multimediale utile all'applicazione, come, ad esempio, immagini, font e file audio.[1]
Ogni applicazione creata può inoltre essere esportata come Java applet.
Per creare uno sketch dinamico Processing mette a disposizione una funzione draw
che viene eseguita per ogni frame; la funzione setup
invece, viene invocata una sola volta al lancio dello sketch .
// dichiarazione di variabili globali
float xoffset = 0.0;
float yoffset = 0.0;
// metodo setup - eseguito solo all'avvio
void setup()
{
size(400, 400);
PFont font = loadFont("Calibri-24.vlw");
textFont(font, 24);
smooth();
println("Stampo una sola volta su console");
}
// metodo draw - eseguito per ogni frame
void draw()
{
background(128);
println("Stampo ad ogni frame su console");
text("Stampo ad ogni frame su schermo", xoffset, yoffset);
xoffset++;
yoffset++;
}
All'inizio vengono dichiarate le variabili globali. Nel caso dell'esempio sopra riportato, sono due float che indicano rispettivamente gli spostamenti x e y.
Nel metodo setup
di questo esempio, vengono impostati diversi parametri: size
indica le dimensioni della finestra dell'applicazione; smooth
servirà invece per applicare l'Antialiasing a eventuali figure geometriche (primitive e non) all'interno dell'applicazione.
La seconda riga del setup serve invece a creare font; una nuova istanza di PFont
, la classe che in Processing rappresenta il font da utilizzare all'interno dell'applicazione: il font scelto ("Calibri-24.vlw") viene prima caricato tramite il metodo loadFont
e in seguito viene adottato (con textFont
) per il testo nella riga successiva.
In draw
viene prima impostato il background, ovvero lo sfondo, che in genere deve essere reimpostato a ogni frame: infatti, se non viene reimpostato ogni volta, le animazioni rimarranno letteralmente impresse sullo sfondo.
L'istruzione text
permette invece di renderizzare nello sketch un messaggio, che adotta il font già scelto in precedenza in setup
e la posizione individuata dalle coordinate xoffset
e yoffset
, i cui incrementi successivi(indicati da xoffset++
ed yoffset++
) permettono di muovere il testo dall'alto a sinistra fino in basso a destra.
Processing.js è un porting di Processing per JavaScript, con il quale è possibile creare contenuti multimediali avanzati per HTML5.[4]
Controllo di autorità | VIAF (EN) 8154440151135342881 · LCCN (EN) sh2008006434 · GND (DE) 7674975-7 · BNF (FR) cb16265636f (data) · J9U (EN, HE) 987007564134805171 |
---|