mercoledì 7 ottobre 2015

Effetto grafico animato

Oggi vediamo come creare questo simpatico effetto, come tutti i programmi per livecode dovrebbe funzionare sia su Mac, Win, Linux,  raspberry PI e con le oppoertune modifiche anche su Android e iOS.

Questo programma lo trovate insieme a tanti altri qui: http://www.tactilemedia.com/site_files/software/tutorials.html
Vediamo come funzione: per ottenere questo programma che mostra una bandiera fluttuante sullo schermo con un effetto ombra semitrasparente, dobbiamo avere le diverse immagine della bandiera.
Immaginiamo di avere 14 immagini della bandiera che simulino il movimento, ci basta caricarle una per una nello stack, aggiungere un pulsante e utilizzare il seguente codice:

local currFrame

on runAnim
   if currFrame = "" or currFrame = 15 then
      put 1 into currFrame
   end if
   set icon of btn 1 to id of img currFrame
   set windowShape of this stack to id of img currFrame
   add 1 to currFrame
   send "runAnim" to me in 50 millisecs
end runAnim


A questo punto per avviare l'animazione basta lanciare il messaggio runAnim che abbiamo scritto.
Notate come viene impostata la proprietà windowShape ogni volta, così la finestra del programma coincide con l'immagine corrente.
Se volete provare una cosa del genere su Android o iOS, ricordate che la finestra è sempre fissa e occupa tutto lo schermo; quindi non possiamo usare il windowShape. In alternativa, invece di spostare una finestra di un  programma, all'utente fate spostare il pulsante che contiene l'immagine. Farlo è semplicissimo, basta inserire grab me nel messaggio MouseDown del pulsante.
Se qualcosa non vi è chiaro, chiedete pure nei commenti.