Tutorial 7 - Control de la línia de temps

Pas 9 de 11

Explicarem un dels condicionals per a comprendre millor el codi. Per exemple, amb la condició

if (currentFrame > 23 && currentFrame < 525)

comprovem si el fotograma actual és més gran que el fotograma 23 i, a més, si és més petit que el fotograma 525.

Si es compleixen tots dos requisits, llavors la condició completa es compleix, i s'executaran les instruccions que hi hagi entre les claus d'aquest if. Si alguna de les parts de la condició no es compleix, no s'executaran les instruccions corresponents.

Segons en quin fotograma siguem, pot ser que es compleixin les condicions que hem escrit per a tots els ocells (per exemple, el fotograma 200), només per a algun (per exemple, el fotograma 15), o per a cap dels tres (per exemple, el fotograma 580).

Si provem la pel·lícula, veurem que ara es paren correctamente les ales dels tres ocells, i no se'ns informa de cap error. Ara ens falta tornar a activar el moviment de les ales quan tornem a reproduir la pel·lícula.

Per tornar a activar el moviment de les ales, copiem en la funció playMovie les sentències condicionals que hem utilitzat en la funció stopMovie. Després, simplement substituïm el mètode stop() pel mètode play(), per exemple:

if (currentFrame < 501) 
{
    bird1_mc.wing1_mc.play();
    bird1_mc.wing2_mc.play();
}

Tornem a provar la pel·lícula. Ara amb els botons play_mc i pause_mc podem aturar i reprendre tant l'avanç dels ocells per l'escenari, com el moviment dels ales.

A més de parar amb stop() i reprendre amb play(), hi ha altres mètodes interessants a l'hora de controlar una línia de temps com, per exemple:

  • nextFrame() i prevFrame(), per a avançar i retrocedir un fotograma
  • gotoAndPlay() i gotoAndStop(), per a anar a un fotograma concret, i una vegada allà continuar o aturar-nos, i escriure dins dels paréntesis el número de fotograma al qual volem anar o el seu nom (etiqueta).