giovedì 24 dicembre 2015

Animazione con le GIF

In un altro posto abbiamo visto come creare animazioni e sfruttarle per fare videogiochi (http://livecodeitalia.blogspot.it/2014/05/come-creare-un_14.html), oggi vedremo come fare prima usando le GIF animate.
Ad esempio prendiamo due sfondi animati come i seguenti:

Ora scegliano due animazioni, una per il personaggio da fermo e una per il personaggio quando fa un'attività:
A questo punto importatele nel vostro programma: File -> Import as control -> Image file. A ogni immagine sarà assegnato da livecode un numero ID nella finestra delle proprietà (ad esempio 1012), annotiamoli per usarli dopo.
Create due pulsanti, uno per lo sfondo che chiameremo sfondoPrincipale  e uno per il personaggio, che chiameremo Ryu. Ovviamente dalle proprietà levate show name, Three D, border, hilite border.
Fatto ciò possiamo creare un pulsante per cambiare lo sfondo col seguente codice:

on mouseUp
   if the icon of button "sfondoprincipale" is 1012 then
      set the icon of button "sfondoprincipale" to 1013
   else
      set the icon of button "sfondoprincipale" to 1012
   end if
end mouseUp



Mentre per il personaggio, possiamo creare un altro pulsante col seguente codice, sapendo che l'animazione dell'attacco dura 600 millisecondi:

on mouseUp
   lock screen
   set the currentframe of image "street_fighter_005_rev5.gif" to 1
   set the repeatCount of image "street_fighter_005_rev5.gif" to 1
   set the icon of button "ryu" to 1018
   unlock screen
   send "resetta" to button "ryu" in 600 millisec
end mouseUp


Resetta è un messaggio del pulsante Ryu per rimettere l'animazione standard:


on resetta
   set the icon of me to 1019
end resetta



Per ora abbiamo associato gli eventi ai click delmouse, ma si possono associare a ciò che preferiamo.
Il risultato è il seguente:

Utilizzare le GIF permette di suddividere il lavoro fra programmatori e disegnatori. I disegnatori devono solo dire al programmatore quanto durano le animazioni, che è un valore impostabile nella GIF. Inoltre, come avete visto, usare le GIF richiede molto meno codice.