Tutorial 7 - Control de la línia de temps

Pas 5 de 11

La línia play_btn.visible = false; que havíem col·locat abans de les funcions (pas 3) s'executarà directament en provar la pel·lícula quan el cap lector sigui en el primer fotograma. Tanmateix, la resta d'instruccions sobre la propietat visible, en ser dins d'una funció, només s’executarà quan es cridi la funció que les conté.

Seleccionem Control > Probar película (Ctrl+Intro).

Podem comprovar com s'alterna la visibilitat dels botons play_btn i pause_btn quan els premem.

Veiem que prement pause_btn s’atura la línia de temps principal, és a dir, l'avanç dels ocells. Tanmateix, les ales continuen en moviment, ja que la funció stop() fa referència a la línia de temps principal, però no a les línies de temps imbricades dins d'ella (com en aquest cas les ales).

D'altra banda, també continua l'avanç dels núvols per l'escenari, ja que el seu moviment depèn de l'esdeveniment ENTER_FRAME, i aquest esdeveniment és independent del desplaçament del cap lector en la línia de temps principal.

Per a solucionar el problema del moviment de les ales, primer haurem de saber com accedir-hi des de la programació en la línia de temps principal.

Per a accedir a una línia de temps imbricada dins d'una altra, en la programació escriurem el nom de la instància principal, seguida d'un punt, i seguida de l'element que està contingut en ella.

Per exemple, suposem que volem reproduir la línia de temps de la mà dreta que hi ha dins del clip del braç dret que al seu torn pertany a un cos. Per a això hauríem d'escriure el següent:

body.right_arm.right_hand.play();

D’aquesta manera la funció play() faria referència a aquesta mà. Per tant, per a poder accedir a les ales de cada ocell, en primer lloc haurem de donar un nom d'instància a cada ocell, i després a les ales.