Incidència, instrucció Eventos |
||
|
||
Definir
eventos com a una instrucció que determina quan s'executa
l'acció o funció definida.
Podríem parlar de quatre tipus d'eventos:
|
||
Eventos o Incidències de ratolí | ||
Aquestes vindrien donades quan l'usuari interactua sobre una instància de botó de la pel.licula.Els script que desencadenen aquests eventos podent estar inserits en el mateix botó o en un fotograma de la línia de temps, com hem vist en l'anterior pràctica. |
||
Hi ha diverses formes de desencadenar aquestes accions de botons: | ||
on(press). L'evento press es produeix quan es fa clic al botó del ratolí damunt d'un botó de pel·lícula. | ||
on(release).L'evento release es produeix quan el cursor del ratolí fa clic i es deixa anar damunt del botó de pel·lícula. | ||
on(releaseOutside). L'evento releaseOutside es produeix quan feu clic i es deixa anar el botó del ratolí lluny de la pel·lícula. | ||
on(rollOver). L'evento rollOver es produeix quan es passa el cursor del ratolí sobre un botó de pel·lícula sense necessitat de fer clic. | ||
on(rollOut). L'evento rollOut es produeix quan el cursor es desplaça fora d'un botó. | ||
on(dragOver). L'evento dragOver es produeix mentre es fa clic amb el botó del ratolí i després s'arrossega aquest sobre el botó de pel·lícula, mantenint polsat el botó del ratolí i es torna a situar sobre el botó de pel·lícula. | ||
on(dragOut). L'evento dragOut es produeix mentre es fa clic amb el botó del ratolí i després s'arrossega aquest cap a fora del botó de pel·lícula, mantenint polsat el botó del ratolí. | ||
Les incidències més utilitzades són: on(press) i on(release) | ||
Recordeu de la pràctica anterior que per inserir una d'aquestes incidències en un botó, només heu d'escriure directament en el panell d'accions |on|, obrir parèntesis |( )| i apareixerà automàticament una finestra emergent amb totes les possibilitats. | ||
Incidències del teclat | ||
Les instruccions d'aquesta insidència es produeixen quan es fa clic sobre qualsevol tecla. | ||
Per inserir una incidència de teclat heu de seguir els matexos passos que per inserir una incidència de ratolí. | ||
Incidències de fotograma | ||
Aquestes són conegudes com a accions de fotograma que es produeixen en la línia de temps. | ||
Incidències de clip de pel·lícula | ||
Els
Eventos de pel·lícula formen part de les instàncies
de clips de pel·lícula i només poden anar units a aquests.
Igual que els Eventos de ratolí, aquests es produeixen quan
es desencadena el fet en el clip de pel·lícula. Així, per exemple, el fet que un clip es carregui per primer cop |OnClipEvent (load)| fa que s'executi una acció determinada. |
||
Alguns dels |Eventos| que van units a instàncies de clips són els següents: | ||
OnClipEvent (load) El fet |load| ve donat amb la primera aparició de la instància de clip pel·lícula dins de la pel·lícula. | ||
|
||
OnClipEvent (enterFrame). El fet |enterFrame| ve donat en el moment que la línia del temps del clip de pel·lícula accedeix a un nou fotograma. Si el clip de pel·lícula només té un fotograma, aquest s'anirà reproduint indefinidament. | ||
|
||
OnClipEvent (unload). El fet |unload| ve donat en el moment que la línia de temps arriba al primer fotograma en què la instància de clip de pel·lícula ja no li té presència. | ||
OnClipEvent (mouseDown). El fet |mouseDown | ve donat quan es fa clic amb el botó esquerra del ratolí damunt de qualsevol part de la pel·lícula, mentre el clip estigui present. Relacionat amb una variable permet comptar els clics que es fan damunt d'una pel·lícula. | ||
|
||
OnClipEvent (mouseUp). El fet |mouseUp| ve donat cada cop que es deixa anar el botó dret del ratolí damunt de qualsevol part de la pel·lícula. Relacionat amb una variable permet contar els cops que es deixa anar el ratolí damunt d'una pel·lícula. | ||
|
||
OnClipEvent (mouseMove). El fet |mouseMove| ve donat cada cop que el ratolí es mou un píxel per damunt de l'escenari de la pel·lícula, sempre que el clip estigui present. | ||
|
||
OnClipEvent (KeyDown). El fet |KeyDown| ve donat quan es prem qualsevol tecla mentre el clip de pel·lícula està present. | ||
|
||
Per activar l'exemple feu clic damunt de la pel·lícula |
||
OnClipEvent (KeyUp). El fet |KeyUp|| ve donat quan es deixa de prémer qualsevol tecla mentre el clip de pel·lícula està present. | ||
|
||
|
||
Per
activar l'exemple feu clic damunt de la pel·lícula
|
||
OnClipEvent (Data). El fet |Data| ve donat quan el clip de pel·lícula rep dades externes a través de les accions |loadVariables| i |oadMov|. | ||
Desenvolupament de la pràctica | ||
Recordeu que en la pràctica núm.1 heu creat una incidència de ratolí per controlar la línia de temps. | ||
En aquesta pràctica treballarem amb una incidència de clip per donar moviment a una instància sense necesitar crear efectes d'interpolació de moviment. | ||
Per crear la primera animació farem servir una incidència que actua cada cop que entra un fotograma |onEnterFrame| això fa que el seu efecte sigui constant. | ||
Aneu al menú |Archivo|Abri| i busqueu a la carpeta mat_m3, que està dins de la carpeta d105m3 l'arxiu moli.FLA | ||
El primer que fareu serà posar nom d'instància als dos clips de pel·lícula que hi ha dins l'escenari. | ||
Sel·leccioneu el clip de pel·lícula que hi ha dins l'escenari de la capa moli1 i un cop seleccionat en el panell de propietats poseu-li com a nom d'instància moli1_mc. | ||
Sel·leccioneu el clip de pel·lícula que hi ha dins l'escenari de la capa moli2 i un cop sel·leccionat en el panell de propietats poseu-li com a nom d'instància moli2_mc. | ||
Un cop posats els noms d'instància als clips, creareu una funció per la incidència |onEnterFrame|. | ||
Seleccioneu el primer fotograma de la capa accions, aneu al panell d'accions i premeu la xinxeta, que està a la part inferior, per fixar el script. | ||
Escriviu directament aquest script: | ||
|
||
Un cop inserit el script proveu la pel·lícula |Ctrl+Intro|, si tot és correcte comprovareu que els clip central dóna voltes en el sentit contrari al de les agulles del rellotge. |
||
Per acabar aquesta part de la pràctica inserireu el taç de script que falta perquè el molinet acabi de funcionar. | ||
Completeu el script ecrivint escrivin |moli2_mc._rotation++;|. | ||
El script definitiu ha de quedar de la següent manera: | ||
|
||
Toneu a provar el seu funcionament. | ||
Explicació del script | ||
La incidència |onEnterFrame| entra en funcionament cada cop que es carrega un nou fotograma, si la pel·lícula només té un fotograma l'acció es repeteix indefinidament. | ||
Aquest script afectarà els dos clips, moli1_mc i moli2_mc. | ||
L'acció |_rotation| fa que el clip de pel·lícula giri s'obre si mateix. A aquesta acció se li pot asignar un valor de |0 a 180| perquè giri a la dreta o de |0-180| perquè giri a l'esquerra, per exemple |_rotation = -136|. | ||
Els operadors aritmètics |++| i |--| fan que aumenti o decreixi el valor de l'acció, en aquest cas |_rotation|. | ||
La segona animació d'aquesta pràctica consistirà en moure un clip de pel·lícula per l'escenari utilitzant una incidència de teclat |keyPress|. El clip és mourà cada cop que es premi una tecla. En aquest cas fareu servir les tecles de fletxa. | ||
Aneu al menú |Archivo|Abri| i busqueu a la carpeta mat_m3, que està dins de la carpeta d105m3 l'arxiu tecles.FLA | ||
Sel·leccioneu el clip de pel·lícula que hi ha dins l'escenari de la capa clip_mou i un cop seleccionat en el panell de propietats poseu-li com a nom d'instància mou_mc. | ||
Amb el clip sel·leccionat aneu al panell d'accions i escriviu directament aquest script: | ||
|
||
Amb aquest tros del script només respon a una tecla, la que apunta a l'esquerra |"<Left>"|. | ||
Un cop comprovat |Ctrl+Intro| que el clip respon quan premeu la tecla, acabeu de copiar la resta del scrip. Fixeu-vos que l'estructura és la mateixa, només canvia el nom de la tecla i l'operador |++|, |--|. | ||
|
||
El resultat de la pràctica ha de ser el mateix que el de la pel·lícula de la imatge .Per poder provar el funcionament de la pel·lícula feu clic damunt seu i aneu prement les tecles de fletxa. | ||
Explicació de l'script | ||
El script comença amb una incidència de ratolí |on (keyPress "<Left>")| que en aquest cas desencadena l'acció quan l'usuari prem tecla de la fletxa esquerra. | ||
L'operador |this| es refereix a l'objecte en el estan localizades les sentències. En aquest cas fa referència a la instància de clip mou_mc. En el mòdul núm.3 pràctica 4 es parla més extensament d'aquest tema. | ||
Les accions |_x| i |_y| fan referència a les cordenades |X| i |Y| dins l'escenari. En la pràctica que ens ocupa, aquestes accions associades als operadors |++|, |--| fan que el clip avanci, retrocedeixi, pugi o baixi. Les accions |_x| i |_y| també poden situar o enviar un objecte dins l'escenari. Per exemple |this._y = 300 ;| |
||
L'operador |++| augmenta en 1 el valor de |_y| o |_x| i retorna el resultat. | ||
L'operador |--| resta 1 el valor de |_y| o |_x| i retorna el resultat. | ||
Per acabar guardeu aquesta pràctica amb el nom de m3p2.FLA en un lloc que després pugueu recuperar. | ||