Processing

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

Processing è un linguaggio di programmazione che consente di sviluppare diverse applicazioni come giochi, animazioni e contenuti interattivi. Eredita completamente la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti dal linguaggio Java ma in più mette a disposizione numerose funzioni ad alto livello per gestire facilmente gli aspetti grafici e multimediali.

È distribuito sotto la licenza libera GNU General Public License ed è supportato dai sistemi operativi Linux, Mac OS X e Microsoft Windows.[1]

Processing può interagire con la scheda 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.[2]

Note[modifica | modifica sorgente]

  1. ^ (EN) Download Processing. URL consultato il 30 luglio 2014.
    «Processing is available for Linux, Mac OS X, and Windows. [..] Processing is Open Source Software. The PDE (Processing Development Environment) is released under the GNU GPL (General Public License). The export libraries (also known as 'core') are released under the GNU LGPL (Lesser General Public License)».
  2. ^ (EN) http://processingjs.org. URL consultato il 30 luglio 2014.
    «Processing.js is the sister project of the popular Processing visual programming language, designed for the web».

Collegamenti esterni[modifica | modifica sorgente]