Controllo · scheda Dati
Albero
Elementi organizzati a rami, come le cartelle.


Esempio
Metti un Albero nella finestra (si chiamerà Albero1) e scrivi:
quando Finestra1.apertura fai Albero1.ombra = verofine quando Albero1.selezione fai stampa("selezione: percorso = {evento["percorso"]}")fineRisultato (controlli simulati)
selezione: percorso = esempio Albero1.ombra = vero
Proprietà
Si leggono e si cambiano con il punto: Albero1.elementi. Ha anche le proprietà comuni a tutti i controlli (posizione, colori, carattere, bordo, effetti).
| Proprietà | Tipo | Iniziale | Significato |
|---|---|---|---|
elementi | dizionario | {} | Etichetta -> dizionario dei figli (o nulla per una foglia) |
selezione sola lettura | testo | "" | Percorso dell'elemento scelto, es. "Animali/Gatto" |
stile | scelta tra `"normale"`, `"moderno"`, `"pillola"`, `"3d"`, `"neon"`, `"vetro"`, `"cartone"`, `"pixel"`, `"carta"`, `"minimale"`, `"gioco"`, `"elegante"`, `"tecnico"` | "normale" | Stile dell'oggetto: la forma (angoli, bordi, ombre, carattere, reazione al tocco); il colore resta quello scelto. "normale" = come la finestra |
dinamiche | lista | [] | Comportamenti da gioco senza codice: giocatore, gravità e salto, piattaforma, raccoglibile, nemico, spara, rimbalza, trascinabile... (se ne possono mettere più di una) |
Eventi
quando Albero1.selezione faiprincipaleQuando si sceglie un elemento. Inevento:percorso,elemento.quando Albero1.espansione faiQuando un ramo si apre o si chiude. Inevento:percorso.quando Albero1.clic faiQuando si fa clic sul controllo. Inevento:x,y.
Metodi
Albero1.aggiungi(percorso_genitore, etichetta)Aggiungeetichettasotto il nodopercorso_genitore("" = in cima), es.aggiungi("Animali", "Gatto").Albero1.rimuovi(percorso)Toglie il nodopercorso(es. "Animali/Gatto") con tutto quello che contiene.Albero1.espandi_tutto()Apre tutti i rami dell'albero.Albero1.salta([forza])Fa saltare l'oggetto:Palla.salta()oPalla.salta 15(forza da 1 a 30: 10 è il salto normale).Albero1.spingi([velocita_x], [velocita_y])Dà una spinta:Palla.spingi(300, -200)(pixel al secondo; y negativo = in su).Albero1.ferma_movimento()Ferma il movimento dell'oggetto (le dinamiche restano).Albero1.spara()Spara un colpo adesso (serve la dinamica "spara", altrimenti una pallina in avanti).Albero1.esulta([secondi])Il personaggio esulta per un po' (salti di gioia).Albero1.aggiungi_dinamica(nome, [regolazioni])Aggiunge una dinamica:Palla.aggiungi_dinamica("rimbalza", {"velocità_x": 300}).Albero1.togli_dinamica(nome)Toglie una dinamica:Nemico1.togli_dinamica("nemico").Albero1.ha_dinamica(nome)Vero se l'oggetto ha la dinamica:se Palla.ha_dinamica("gravità") allora.Albero1.regola(nome, regolazione, valore)Cambia una regolazione:Giocatore.regola("giocatore", "velocità", 400).Albero1.tocca(altro)Vero se i due oggetti si toccano adesso:se Giocatore.tocca(Lava) allora.
E tutte le animazioni comuni: Albero1.lampeggia(), Albero1.rimbalza(), Albero1.vola_a(x, y)…
Stili pronti
Con Albero1.stile = "principale" prende colori, bordo e reazione al mouse coerenti con il tema della finestra.
- normale
- moderno
- pillola
- 3d
- neon
- vetro
- cartone
- pixel
- carta
- minimale
- gioco
- elegante
- tecnico
Dove funziona
- PCsì
- Telefonosì