02 - Lavagna.
Logo di scratch
02 - Lavagna. /1
Logo di scratch
immagine

Sviluppiamo l'app che consentirà all'utente di disegnare con le dita.


In questo progetto imparerai a:
gestire meglio i pulsanti
gestire meglio lo spazio a video
gestire un componente nuovo: canvas.


Avvia l'ambiente di sviluppo: http://ai2.appinventor.mit.edu/.
Avvia un nuovo progetto e chiamalo "Lavagna".


immagine

Trascina sullo schermo un componente di tipo Button
e modifica le seguenti proprietà.


immagine

BackgroundColor: al colore blu.
Text: svuotalo completamente.
Width ed Height: 25 pixel.


Prova a fare da solo il pulsante rosso e il pulsante verde,
sistemandoli uno accanto all'altro come nell'immagine iniziale.

immagine

Uhm.. pare che questi pulsanti
proprio non ne vogliano sapere
di sistemarsi in orizzontale, vero?

02 - Lavagna /2
Logo di scratch
immagine immagine

Nella sezione Layout
della tua Pallette
prendi l'elemento
HorizontalArrangement
e trascinalo sullo schermo.


immagine

Imposta sua la proprietà width
al valore Fill parent
(riempi mio padre) e trascinaci dentro i due pulsanti.


immagine

Adesso modifica le impostazioni
del secondo pulsante ed aggiungi
il terzo per ottenere
uno schermo come questo.


immagine

Dovrebbe essere semplice per te aggiungere un altro pulsante che riempia tutto lo spazio orizzontale rimasto come quello qui accanto.


immagine

Prima di andare avanti andiamo a vedere il nostro emulatore (o il nostro smartphone) come mostrano lo schermo che stiamo preparando.


immagine

Se imposti l'altezza dell'ultimo pulsante a 25px
(come l'altezza dei pulsanti colorati)
non si vede più la scritta!


Lavora sulla proprietà height dell'ultimo pulsante
per determinare un valore basso (cioè vicino a 25px) che lascia visibile la scritta;
quindi imposta il valore delle proprietà height e weigth
dei pulsanti colorati a quel valore.

immagine immagine

02 - Lavagna /3
Logo di scratch
immagine

L'ultimo elemento che ci serve è Canvas
(sezione Drwawing and Animation della Pallette).


immagine

Una volta trascinato
uno di questi elementi sullo schermo imposta le sue proprietà
width ed height a Fill parent.


immagine

Passa in modalità Blocks.


Per intercettare il movimento del dito sullo schermo (nella parte di canvas) useremo il metodo Dragged e per disegnare una linea (sulla canvas) il metodo DrawLine.


immagine

Nell'area di Blocks, nella sezione Screen1,
fai click su Canvas1
e piazza il metodo Dragged nell'area Viewer.

Poi fai di nuovo click su Canvas1, scegli il metodo DrawLine ed aggancialo al precedente.

immagine
02 - Lavagna /4
Logo di scratch

Se ti trattieni con il cursore sul blocco
appare una bandierina con un testo che descrive il blocco.

immagine

Abbiamo scoperto che le coordinate prevX e prevY indicano il punto precedente al movimento mentre currentX e currentY quello successivo.


Per vedere cosa puoi fare con ciascuna di quelle variabili
trattieniti su una di loro.

immagine

Ottimo!
Usando il blocco che prende il valore delle variabili
andiamo a riempire i valori del blocco DrawLine
per far disegnare una linea dal punto precedente al punto successivo.

immagine
02 - Lavagna /5
Logo di scratch

Hai provato la tua app? :-)


immagine

Bene!
Adesso dobbiamo cambiare il colore della penna quando l'utente clicca su uno dei pulsanti colorati.

Guardando nella sezione Screen1 dell'area Blocks facciamo fatica a distinguire i pulsanti l'uno dall'altro.

Andiamo a cambiargli i nomi.


immagine

Passa in modalità Designer.


immagine immagine

Fai click su uno dei pulsanti nell'area Components. Guarda quale pulsante si porta in evidenza nel Viewer oppure guarda la proprietà BackgroundColor nell'area Properies. Una volta individuato il pulsante clicca su Rename.


immagine

Dai i seguenti nomi ai pulsanti: btnVerde, btnBlu, btnRosso e btnPulisci.


immagine

Torna in modalità Block.

02 - Lavagna /6
Logo di scratch
immagine

Adesso che distinguiamo i pulsanti, selezioniamo btnVerde e poi scegliamo il primo blocco.

immagine

Cosa vogliamo che succeda quando l'utente fa click sul pulsante verde?

Vogliamo che il colore con cui si disegna sulla canvas
sia il verde.

immagine

Poichè bisognerà fare qualcosa di molto simile per i pulsanti blu e rosso
possiamo partire dall'ultimo blocco creato e modificare ove necessario.


immagine

Fai click con il destro
sul blocco
e scegli Duplicate.


immagine

Poi fai click
sul menu a tendina btnVerde
e scegli un altro pulsante.

02 - Lavagna /7
Logo di scratch
immagine

Infine scegli il colore facendo click sul colore stesso.


Resta da pulire la lavagna quando si clicca sull'ultimo pulsante.

immagine

Sei capace di farlo senza aiuti?


Prima di finire, una piccola sfida per te.

Sei capace di fare in modo che alla pressione lunga dei tre pulsanti-colore l'app modifichi il colore di sfondo della canvas?