Processing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m top: clean up
 
(34 versioni intermedie di 23 utenti non mostrate)
Riga 1:
[[File:Processing Logo3 Clippedlogo.svg|thumbpng|250pxminiatura|Il ''logo'' di ''Processing'']]
'''Processing''' è una [[Libreria (software)|libreria grafica]] che consente di sviluppare applicazioni di vario tipo, come [[Videogioco|videogiochi]], [[Animazione|animazioni]], contenuti interattivi e opere d'[[arte generativa]].<ref name=":0">{{Cita web|url=https://processing.org//tutorials/overview|titolo=Processing Overview|sito=Processing|lingua=en|accesso=23 gennaio 2023|dataarchivio=28 maggio 2023|urlarchivio=https://web.archive.org/web/20230528004838/https://processing.org/tutorials/overview/|urlmorto=sì}}</ref><ref>{{Cita web|url=https://www.quora.com/What-language-is-processing-based-on/answer/Carl-Smotricz|titolo=What language is processing based on?|sito=Quora|lingua=en|accesso=23 gennaio 2023}}</ref>
'''Processing''' è un [[linguaggio di programmazione]] basato su [[Java (linguaggio)|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.
Basandosi sul [[Linguaggio di programmazione|linguaggio]] [[Java (linguaggio di programmazione)|Java]], ne eredita la [[Sintassi (informatica)|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 [[Computer grafica|aspetti grafici]] e [[Multimedialità|multimediali]].
È distribuito sotto licenza [[Open Source]], ed è supportato dai sistemi operativi [[GNU]]/[[Linux]], [[Mac OS X]] e [[Microsoft Windows|Windows]].
 
È distribuito nei termini della [[licenza libera]] ''[[GNU General Public License]]'' (GPL) ed è compatibile con i [[sistemi operativi]] [[Linux]], [[macOS]] e [[Microsoft Windows]].<ref>
{{cita web
*[http|url=https://processing.org/ http:/download/?processing.org/]
|titolo=Download Processing
|citazione=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)
|accesso=30 luglio 2014
|lingua=en
}}</ref>
 
''Processing'' può interagire con la scheda hardware [[Arduino (hardware)|Arduino]].
 
''Processing'' può interagire con la scheda hardware [[Arduino (hardware)|Arduino]].
==Caratteristiche==
[[File:Processing screen shot.png|thumb|250px|[[IntegratedAmbiente developmentdi environmentsviluppo integrato|IDE]] di ''Processing'': nell'esempio, la [[Simulazione (matematica)|simulazione]] del [[moto browniano]] di una [[molecola]]]]
Il pacchetto, scaricabile gratuitamente dal sito ufficiale, mette a disposizione un [[Integrated development environment|ambiente di sviluppo integrato]] (IDE).
 
===Sketch===
Le varie creazioni sono chiamate '''sketch''' e sono organizzate in uno '''sketchbook'''.
Ogni sketch contiene in genere, oltre alle [[Classe (informatica)|classi]] di [[Oggetto (informatica)|oggetti]] che lo compongono, anche una cartella '''Data'data'' in cui viene inserito il materiale multimediale utile all'applicazione, come, ad esempio, immagini, font e file audio.<ref name=":0" />
 
Ogni applicazione creata può inoltre essere esportata come [[Java applet]].
====Esempio di Sketch in Processing====
 
====Esempio di Sketch in Processing====
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.
Per creare uno ''sketch'' dinamico Processing mette a disposizione una funzione <code>draw</code> che viene eseguita per ogni frame; la funzione <code>setup</code> invece, viene invocata una sola volta al lancio dello ''sketch'' .
 
<sourcesyntaxhighlight lang="java">
// dichiarazione di variabili globali
float xoffset = 0.0;
Line 42 ⟶ 51:
yoffset++;
}
</syntaxhighlight>
</source>
 
===Dichiarazioni ===
All'inizio vengono dichiarate le [[variabili globali]],. in questoNel caso dell'esempio sopra riportato, sono due float che indicano rispettivamente gli spostamenti x e y.
 
===Setup===
Nel metodo '''<code>setup'''</code> di questo esempio, vengono settatiimpostati diversi parametri: '''<code>size'''</code> indica le dimensioni della finestra dell'applicazione,; '''<code>smooth'''</code> servirà invece per applicare l'[[Antialiasing]] a eventuali [[Operazionefigure primitiva|geometriche (primitive]] e figurenon) all'interno dell'applicazione.

La seconda riga del setup serve invece a creare ''font'',; una nuova [[Istanza (informatica)|istanza]] di '''<code>PFont'''</code>, 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 <code>loadFont</code> e in seguito viene adottato (con ''<code>textFont''</code>) per il testo nella riga successiva.
 
===Draw===
In '''<code>draw'''</code> viene prima impostato il '''background''', ovvero lo sfondo, che in genere deve essere reimpostato a ogni frame: infatti, se esso non èviene reimpostato ogni volta, le animazioni rimarranno letteralmente impresse sullo sfondo.
 
L'istruzione '''<code>text'''</code> permette invece di farrenderizzare comparirenello nell'applicazione'sketch'' un messaggio, che adotteràadotta il font precedentementegià scelto in setup: la posizioneprecedenza in cui<code>setup</code> compariràe illa messaggioposizione è a partireindividuata dalle coordinate '<code>xoffset'</code> e '<code>yoffset';</code>, i successivicui incrementi disuccessivi(indicati questeda ultime,<code>xoffset++</code> daràed l'effetto<code>yoffset++</code>) finalepermettono di unmuovere il testo che si muove che dall'alto a sinistra si muove fino in basso a destra.
 
==Processing.js==
''Processing.js'' è un porting di processingProcessing per javascript[[JavaScript]], con il quale è possibile creare contenuti multimediali avanzati per [[HTML5]].<ref>{{cita web
|url=http://processingjs.org/
|2=Processing.js
|citazione=Processing.js is the sister project of the popular Processing visual programming language, designed for the web
|accesso=30 luglio 2014
|lingua=en
|dataarchivio=13 marzo 2012
|urlarchivio=https://web.archive.org/web/20120313113719/http://processingjs.org/
|urlmorto=sì
}}</ref>
 
==Note==
Processing.js è un porting di processing per javascript, con il quale è possibile creare contenuti multimediali avanzati per HTML5.
<references />
 
==Altri progetti==
{{interprogetto}}
 
==Collegamenti esterni==
*[http {{cita web|https://mobile.processing.org/ http|https://mobile.processing.org/]|lingua=en}}
* {{cita web|1=http://mobile.processing.org|2=http://mobile.processing.org|lingua=en|accesso=12 giugno 2009|urlarchivio=https://web.archive.org/web/20090628224359/http://mobile.processing.org/|dataarchivio=28 giugno 2009|urlmorto=sì}}
 
{{Controllo di autorità}}
*[http://processing.org/ http://processing.org/]
*[http://mobile.processing.org/ http://mobile.processing.org/]
*[http://www.valcon.it/processing Prova Processing!]
 
{{portale|informatica|software libero}}
 
[[Categoria:Linguaggio Java]]
[[Categoria:Linguaggi di programmazione orientati agli oggetti]]