di Flash. Ilustrar uma técnica para criar símbolos (MovieClip) componentes modal a ser utilizado de forma semelhante ao Alert e Window do Flash. O objetivo é mostrar um MovieClip acima de todas as outras, desabilitando - bem - o acesso à base e qualquer objeto presente / outro componente. Para ser honesto eu ter conseguido que, ao fazer um pouco de "engenharia reversa do código da Adobe, que é em claro! Na verdade, eu resisti ![]()
O artefizio que é usado para desativar qualquer interface Apresentamos a seguir o nosso MovieClip, é criar um MovieClip transparente assumir toda a área do palco. a false . Neste MovieClip, que será praticamente não visível encaixar um método "void" sobre o evento onRelease , tendo o cuidado de definir o useHandCursor para false .
Primeiro de tudo, criar um filme com qualquer interface no palco principal:

e un bottone usato aprire il nostro MovieClip modale: il nostro popUp personalizzato. Este consiste em um TextField , um TextInput e um botão usado para abrir o nosso modal MovieClip pop-up por conta própria.
Quando você vai adicionar o nosso símbolo usando attachMovie() é o que veremos:

Eu deixei em vermelho ( alpha=10 ) o fantasma que paira MovieClip abaixo da interface, de modo a ser visto. Nosso símbolo pode ser feito de qualquer maneira, basta configurar nas propriedades de um identificador (por exemplo, moviemodal) e 2.0 classe para MovieClipModal:

Aqui MovieClipModal a classe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | / * ** ** Arquivo: MovieClipModal.as ** Autor: Giovambattista Fazioli (@ g.fazioli undolog.com) ** Web: http://www.undolog.com ** E-mail: g (ponto) Fazioli (at) undolog (ponto) (com) ** Criado: 08/11/2007 23:57 ** Modificado em: 08/11/2007 23:57 ** ** * / managers . DepthManager ; . importação mx gestores DepthManager.; / / MovieClip { MovieClipModal classe estende MovieClip { / / __release : String = "1.0" ; var privada __release: string = "1.0"; / / __modal_mc : MovieClip ; private var __modal_mc: MovieClip ; / / __movieWidth : Number = 0 ; __movieWidth var privado: Número = 0; __movieHeight : Number = 0 ; __movieHeight var privado: Número = 0; __left : Number = 0 ; __left var privado: Número = 0; __right : Number = 0 ; var privada __right: Número = 0; __top : Number = 0 ; __top var privado: Número = 0; __bottom : Number = 0 ; __bottom var privado: Número = 0; / / MovieClipModal function () { scaleMode = "noscale" ; Estágios scaleMode = "noScale".; addListener ( this ) ; Estágios addListener (this).; / / onLoad = _onLoad; onUnload = _onUnload; / / width ; __movieWidth = Stage . largura; height ; __movieHeight = Stage . altura; } / * ** _onLoad () - Enrole onLoad MovieClip * / _onLoad ( ) { _onLoad private function () { / Key.addListener / (this); / / "__modal_mc" , DepthManager . kTopmost ) ; . __modal_mc = _root createEmptyMovieClip ("__modal_mc" DepthManager kTopmost.); ( ) ; __modal_mc clear ().; ( 0xff0000 , 100 ) ; . __modal_mc beginFill (0xFF0000, 100); ( 0 , 0 ) ; . __modal_mc moveTo (0, 0); ( 100 , 0 ) ; . __modal_mc lineTo (100, 0); ( 100 , 100 ) ; . __modal_mc lineTo (100, 100); ( 0 , 100 ) ; . __modal_mc lineTo (0, 100); ( ) ; __modal_mc endFill ().; / / this ) ; . __modal_mc setDepthBelow (this); ; __modal_mc _alpha = 10.; / / _global.style.modalTransparency; = __modal_mc . useHandCursor = false ; . __modal_mc tabEnabled = __modal_mc useHandCursor = false.; / / ( ) { } ; __modal_mc onRelease = function () {}.; / / onResize (); } / * ** _onUnload () - Enrole onUnload MovieClip * / _onUnload ( ) { _onUnload private function () { ; . __modal_mc removeMovieClip (); } / * ** OnKeyDown - chave Enrole * / onKeyDown ( ) { onKeyDown private function () { Key . getCode ( ) == Key . TAB ) { if (Key. getCode () == TAB chave.) { / / Selection.setFocus (); } } /************************************************* ******************************************* ** OnResize () evento ************************************************** ******************************************/ onResize ( ) { onResize private function () { Number = Math . round ( Stage . width ) ; var sw: Número = Math round (. Stage largura.); Number = Math . round ( Stage . height ) ; var sh: Número = Math round (. Stage altura.); Number = Math . round ( this . __movieWidth ) ; ow var: Número = Math . round (this. __movieWidth); Number = Math . round ( this . __movieHeight ) ; Oh var: Número = Math round (this. __movieHeight);. / / Math . floor ( ( ( sw - ow ) / 2 ) ) ; __modal_mc _x = -. Math chão (((sw - ow) / 2)).; Math . floor ( ( ( sh - oh ) / 2 ) ) ; __modal_mc _y = -. Math floor (((sh - h) / 2)).; . width ; __modal_mc _width =. Stage largura.; . height ; __modal_mc _height =. Stage altura.; } } |
Esta classe é apenas um exemplo e pode ser expandido e melhorado. Mas como ele funciona muito bem. (righe 43 e 52). De particular interesse é o uso de DepthManager para a colocação no fundo do nosso modal MovieClip, graças à constante kTopmost (linhas 43 e 52).
Note também a presença (comentário nesta versão) para as linhas 41 e 70 de um manipulador de adicionais para o teclado. Nosso pop-up, de fato, contém um botão que elimina uma inesperada possível neste sistema. A adição do MovieClip fantasma (linhas 43-57) e amarrado artefizio evento onRelease() não impede que certos movimentos, como pressionar a tecla Tab do teclado. Em alguns casos, portanto, pode ser necessário para interceptar as tarefas de teclado antes de desviar em outros lugares, como a restauração de fogo para um controle interno ao nosso modal MovieClip.










undolog  »Blog Archive » Criar MovieClip modal TopMost ...
Ilustrar uma técnica para criar símbolos (MovieClip) Modo de usar componentes similares e Flash Alert Window. € ™ s objetivo é mostrar um MovieClip acima de todas as outras, desabilitando - bem - € ™ s para acesso a área subjacente ... € ™