Processing

Da Wikipedia, l'enciclopedia libera.
Il logo di Processing

Processing è un linguaggio di programmazione basato su Java, che consente di sviluppare diverse applicazioni come giochi, animazioni e contenuti interattivi. Da Java eredita completamente la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti, ma in più mette a disposizione numerose funzioni ad alto livello per gestire facilmente l'aspetto grafico e multimediale. È distribuito sotto licenza Open Source, ed è supportato dai sistemi operativi GNU/Linux, Mac OS X e Windows.

Processing può interagire con la scheda hardware Arduino.

Caratteristiche[modifica | modifica sorgente]

IDE di Processing: nell'esempio, la simulazione del moto browniano di una molecola

Il pacchetto, scaricabile gratuitamente dal sito ufficiale, mette a disposizione un ambiente di sviluppo integrato (IDE).

Sketch[modifica | modifica sorgente]

Le varie creazioni sono chiamate sketch e sono organizzate in uno sketchbook. Ogni sketch contiene in genere, oltre alle classi di oggetti che lo compongono, una cartella Data in cui viene inserito il materiale multimediale utile all'applicazione, come, ad esempio, immagini, font e file audio.

Ogni applicazione creata può inoltre essere esportata come Java applet.

Esempio di Sketch in Processing[modifica | modifica sorgente]

In Processing, ogni sketch deve contenere almeno una classe principale, in cui sarà presente una funzione setup e una funzione draw: la prima viene invocata una sola volta al lancio dell'applicazione, mentre la seconda viene eseguita per ogni frame.

// 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++;
}

Dichiarazioni[modifica | modifica sorgente]

All'inizio vengono dichiarate le variabili globali, in questo caso due float che indicano rispettivamente gli spostamenti x e y.

Setup[modifica | modifica sorgente]

Nel metodo setup di questo esempio, vengono settati diversi parametri: size indica le dimensioni della finestra dell'applicazione, smooth servirà invece per applicare l'Antialiasing a eventuali primitive e figure 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.

Draw[modifica | modifica sorgente]

In draw viene prima impostato il background, ovvero lo sfondo, che in genere deve essere reimpostato a ogni frame: infatti, se esso non è reimpostato ogni volta, le animazioni rimarranno letteralmente impresse sullo sfondo.

L'istruzione text permette invece di far comparire nell'applicazione un messaggio, che adotterà il font precedentemente scelto in setup: la posizione in cui comparirà il messaggio è a partire dalle coordinate 'xoffset' e 'yoffset'; i successivi incrementi di queste ultime, darà l'effetto finale di un testo che si muove che dall'alto a sinistra si muove fino in basso a destra.

Processing.js[modifica | modifica sorgente]

Processing.js è un porting di processing per javascript, con il quale è possibile creare contenuti multimediali avanzati per HTML5.

Collegamenti esterni[modifica | modifica sorgente]