No ActionScript 3.0 você deve usar addEventListener() para interceptar qualquer caso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | / ** * Dado um MovieClip mc, você define eventos e manipuladores * / ( 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.); / ** * Funções hander para os eventos acima * / e : MouseEvent ) : void { on_click function (e: MouseEvent ): void { / / Clique } e : MouseEvent ) : void { on_roll_over function (e: MouseEvent ): void { / / Roll over } e : MouseEvent ) : void { on_roll_out function (e: MouseEvent ): void { / / Roll-out } |
Alternativamente, você pode usar o formulário:
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.); / ** * Eu criar uma única função para lidar com todos os eventos * / e : MouseEvent ) : void { on_handler function (e: MouseEvent ): void { e . type ) { switch (tipo and.) { . CLICK : casas MouseEvent . CLICK: / / Clique break; . ROLL_OVER : casas MouseEvent . ROLL_OVER: / / Roll over break; . ROLL_OUT : casas MouseEvent ROLL_OUT.: / / Roll-out break; } } |










[...] Muito curto truque: addEventListener () AS3, um manipulador de eventos mais em Actionscript 3.0 você deve usar o addEventListener () para interceptar qualquer [...]
Olá, eu gosto de como você melhorou, mas eu te perguntar uma coisa, se eu tivesse mais de um MovieClip mc, digite: mc1, mc2 ... .. (pode ser por exemplo os botões em um menu), como gerenciá-los Graças?
@ Robert:
, in questo caso
MouseEvent. Na funçãoon_handlervocê pode se referir ao objeto do tipoEvent, neste casoMouseEvent. Esse objeto, na verdade, permite que você tenha informações sobre o objeto que recebeu o evento. Se você tentar isso:2
3
4
e . target . name ) ; trace (alvo and. nome.);
/ / ...
}
) ti permetterà di sapere quale MovieClip hai selezionato. A propriedade
target(oucurrentTarget) permitirá que você saiba que você selecionou 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 a documentação está no detalhe de
targetquecurrentTargetque, embora à primeira vista parecem ser bastante idêntico, em alguns casos (ver botões construído com mais complexo MovieClips aninhados) pode lhe dar as informações corretas você está procurando.@ Giovambattista Fazioli: Eu vou olhar ...:) ... bom ... se eu reenviar ..:)
@ 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 function (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. nome.) / / funciona, ele exibe "btn1_mc" ou o nome do primeiro botão
( 2 ) ; . btn1_mc gotoAndPlay (2);
break;
. MOUSE_OUT : casas MouseEvent MOUSE_OUT.:
( 16 ) ; . btn1_mc gotoAndPlay (16);
break;
}
}
Então
funciona, mas como eu posso associar seqüência de educação que vem? em lugar de
@ Robert: É muito simples:
e.targeté um ponteiro para a instância do MovieClip, então é só usar:Na prática
btn1_mc, ou qualquer outra instância, corresponde ae.target@ Giovambattista Fazioli: Bem o que dizer, eu tentei ser bom com totó
[Cc_actionscript3] (e.currentTarget.name). GotoAndPlay (2) [\ como] ... tirado ... E assim o nome entre parênteses, e função ... por isso ... .. OBRIGADO ....:)
@ Robert: Eu concluiria, se alguém tentou informações sobre o que, no caso com mais metros cúbicos (botões, por exemplo), com uma disposição e um clique você pode agrupar e atribuir 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.);
}
Olá ... .. e espero ser útil a alguém ....:)
@ Roberto: excelente! Também, finalmente, se a série de "botões" (MovieClip) são colocados em um recipiente de MovieClip, você pode até mesmo evitar o array e um loop sobre todas as "crianças" do recipiente. Neste sentido, sugiro que você leia tudo que você sempre quis fazer com ActionScript 3
Cumprimentos e obrigado por suas contribuições