
Variabili in Processing: dichiarazione, tipi e utilizzo
Una variabile è uno spazio di memoria con un nome, in cui possiamo memorizzare dati da usare e modificare nel corso del nostro programma. In Processing, le variabili sono fondamentali per personalizzare il comportamento degli oggetti grafici, mantenere lo stato del programma, contare, animare, verificare condizioni e molto altro.
1. Cos’è una variabile?
Potete immaginare una variabile come una scatola etichettata in cui potete inserire (e cambiare) un valore. Ogni scatola ha:
- un nome
- un tipo di dato
- un valore (che può cambiare)
Sintassi base:
Esempio:
2. Tipi principali di variabili in Processing
Numeri interi – int
Valori numerici senza decimali.
Numeri con virgola – float
Numeri decimali.
1 | float trasparenza = 127.5; |
Valori logici – boolean
Può essere solo true (vero) o false (falso).
Testi – String
Sequenze di caratteri tra virgolette.
1 | String saluto = "Ciao mondo!" ; |
3. Usare variabili per disegnare
Possiamo usare le variabili per controllare dimensioni, posizione, colore, e altri aspetti grafici.
Esempio: dimensione variabile per un cerchio
7 | ellipse(width/2, height/2, diametro, diametro); |
Modifica il valore di diametro
per vedere come cambia il disegno.

4. Variabili e animazioni
Le variabili possono essere aggiornate nel tempo per creare un movimento.
Esempio: far muovere un cerchio
10 | ellipse(x, 200, 50, 50); |

5. Variabili booleane
Le variabili boolean
sono utilissime per gestire condizioni, stati on/off, pulsanti, visibilità, ecc.
Esempio: mostrare o nascondere un oggetto con un clic
1 | boolean visibile = true ; |
11 | rect(150, 150, 100, 100); |

6. Ambito delle variabili (scope)
In Processing (come in altri linguaggi), una variabile può essere:
- Globale: dichiarata fuori da tutte le funzioni: visibile ovunque.
- Locale: dichiarata dentro una funzione: esiste solo lì dentro.
Esempio:

Le variabili locali sono più sicure (non rischi conflitti),
ma le globali sono utili per memorizzare valori tra i frame (es. posizione, stato, punteggi…).
Se nel programma togliamo il commento a:
Si otterrà un messaggio di errore:

La variabile y non esiste.
Esempio:
8 | ellipse(width/2, height/2, raggio<em>2, raggio</em>2); |
19 | ellipse(mouseX, mouseY, raggio<em>2, raggio</em>2); |
raggio
è dichiarata fuori da tutte le funzioni, quindi è globale e può essere usata in setup()
, draw()
, e mousePressed()
.
bordo
è una variabile locale creata dentro la funzione draw()
. Questo significa che:
- è accessibile solo dentro
draw()
- non può essere usata in
mousePressed()
o setup()
— altrimenti il programma darà errore

Analogia semplice per comprendere meglio
Immagina che le funzioni siano stanze chiuse. Una variabile globale è un oggetto nel corridoio comune: tutti possono vederlo.
Una variabile locale, invece, è un oggetto lasciato in una stanza specifica: chi sta fuori da quella stanza non può usarlo né vederlo.
7. Esercizi per approfondire
Esercizio 1: usare due variabili larghezza
e altezza
per disegnare un rettangolo
14 | rect(width/2, height/2, larghezza, altezza); |

Esercizio 2: usare una variabile boolean
per alternare tra un cerchio e un quadrato cliccando
2 | boolean disegnaCerchio = true ; |
17 | ellipse(width/2, height/2, 100, 100); |
20 | rect(width/2, height/2, 100, 100); |
26 | disegnaCerchio = !disegnaCerchio; |
Ogni volta che l’utente clicca con il mouse, la variabile booleana disegnaCerchio
cambia stato. Questo ci permette di alternare la forma disegnata, creando un comportamento interattivo semplice ma efficace.

Esercizio 3: aumentare gradualmente la trasparenza di un rettangolo usando una float
14 | fill(0, 0, 255, alpha); |
15 | rect(100, 100, 200, 200); |
La variabile alpha
controlla il livello di trasparenza (da 0 a 255). In ogni fotogramma (draw()
), il valore aumenta, rendendo il rettangolo sempre più visibile, come in una fade-in animation.

Buon Coding a tutti 