En ActionScript 3.0 se debe utilizar addEventListener() para interceptar cualquier caso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | / ** * Dado un mc MovieClip, se establece eventos y controladores * / ( MouseEvent . CLICK , on_click ) ; . mc addEventListener ( MouseEvent CLICK, on_click.); ( MouseEvent . ROLL_OVER , on_roll_over ) ; . mc addEventListener ( MouseEvent ROLL_OVER, on_roll_over.); ( MouseEvent . ROLL_OUT , on_roll_out ) ; . mc addEventListener ( MouseEvent ROLL_OUT, on_roll_out.); / ** * Funciones de lanzador de los eventos mencionados * / e : MouseEvent ) : void { on_click función (e: MouseEvent ): void { / / Haga clic en } e : MouseEvent ) : void { on_roll_over función (e: MouseEvent ): void { / / Pase el cursor sobre } e : MouseEvent ) : void { on_roll_out función (e: MouseEvent ): void { / / Roll-out } |
Alternativamente, puede utilizar la siguiente forma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ( MouseEvent . CLICK , on_handler ) ; . mc addEventListener ( MouseEvent CLICK, on_handler.); ( MouseEvent . ROLL_OVER , on_handler ) ; . mc addEventListener ( MouseEvent ROLL_OVER, on_handler.); ( MouseEvent . ROLL_OUT , on_handler ) ; . mc addEventListener ( MouseEvent ROLL_OUT, on_handler.); / ** * Puedo crear una sola función para controlar todos los eventos * / e : MouseEvent ) : void { on_handler función (e: MouseEvent ): void { e . type ) { switch (tipo and.) { . CLICK : casas MouseEvent . CLICK: / / Haga clic en break; . ROLL_OVER : casas MouseEvent . ROLL_OVER: / / Pase el cursor sobre break; . ROLL_OUT : casas MouseEvent ROLL_OUT.: / / Roll-out break; } } |










[...] Truco muy corto: addEventListener () AS3, un manejador de los eventos más en ActionScript 3.0 debe utilizar el método addEventListener () para interceptar cualquier [...]
Hola, me encanta cómo ha mejorado, pero te pido algo, si yo tuviera más de un MovieClip mc, escriba: MC1, MC2 ... .. (podría ser por ejemplo los botones de un menú), la forma de manejar, gracias?
@ Robert:
, in questo caso
MouseEvent. En la funciónon_handlerse puede hacer referencia al objeto del tipoEvent, en este casoMouseEvent. Este objeto, de hecho, le permite tener información sobre el objeto que recibió el evento. Si usted intenta esto:2
3
4
e . target . name ) ; trace (objetivo and. nombre.)
/ / ...
}
) ti permetterà di sapere quale MovieClip hai selezionato. La propiedad
target(ocurrentTarget) le hará saber que ha seleccionado MovieClip.che, anche se a prima vista sembrano del tutto identici, in alcuni casi (vedi bottoni complessi costruiti con più MovieClip annidati) possono darti la corretta informazione che cerchi. Consulte la documentación está en los detalles de
targetquecurrentTargetque aunque a primera vista parecen ser bastante idénticos, en algunos casos (ver botones construido con clips de película anidados más complejos) puede darle la información correcta que busca.@ Giovambattista Fazioli: Voy a ir a buscar ...:) ... bueno ... si vuelvo a enviar ..:)
@ Giovambattista Fazioli:
2
3
4
5
6
7
8
9
10
11
12
13
14
( MouseEvent . MOUSE_OUT , on_handler ) ; . btn1_mc addEventListener ( MouseEvent MOUSE_OUT, on_handler.);
e : MouseEvent ) { on_handler función (e: MouseEvent ) {
e . type ) { switch (tipo and.) {
. MOUSE_OVER : casas MouseEvent . MOUSE_OVER:
e . currentTarget . name ) ; //funziona, visualizza "btn1_mc" ossia il nome dell'istanza del primo pulsante trace (currentTarget and.. nombre) / / funciona, se muestra "btn1_mc" o el nombre del primer botón
( 2 ) ; . btn1_mc gotoAndPlay (2);
break;
. MOUSE_OUT : casas MouseEvent MOUSE_OUT.:
( 16 ) ; . btn1_mc gotoAndPlay (16);
break;
}
}
Entonces
funciona, pero ¿cómo puedo conectar a la secuencia de la educación que viene? en lugar de
@ Robert: Es muy simple:
e.targetes un puntero a la instancia del clip de película, entonces sólo tiene que utilizar:En la práctica
btn1_mc, o cualquier otra instancia, corresponde ae.target@ Giovambattista Fazioli: Bueno, qué decir, he tratado de ser bueno con el friki
[Cc_actionscript3] (e.currentTarget.name). GotoAndPlay (2) [\ como] ... llevado ... Y así el nombre de los paréntesis, y la función ... así que ... .. GRACIAS ....:)
@ Robert: Me gustaría concluir, si alguien tratara de información acerca de que en el caso de metros cúbicos más (por ejemplo, botones), con una matriz y haga clic en un grupo y se puede asignar diferentes mc "addEventListener" es :
2
3
4
5
. addEventListener ( MouseEvent . CLICK , on_handler ) ; btn_array [i] addEventListener (. MouseEvent CLICK, on_handler.);
. addEventListener ( MouseEvent . MOUSE_OVER , on_handler ) ; btn_array [i] addEventListener (. MouseEvent MOUSE_OVER, on_handler.);
. addEventListener ( MouseEvent . MOUSE_OUT , on_handler ) ; btn_array [i] addEventListener (. MouseEvent MOUSE_OUT, on_handler.);
}
Hola ... .. y espero que sea útil a alguien más ....:)
@ Roberto: excelente! También, por último, si la serie de "botones" (MovieClip) se colocan en un recipiente de MovieClip, puede incluso evitar la matriz y el lazo sobre todos los "hijos" del contenedor. En este sentido le sugiero que lea todo lo que siempre quiso hacer con ActionScript 3
Saludos y gracias por sus contribuciones