Crear modal MovieClip TopMost

di Flash. Ilustran una técnica para crear símbolos (MovieClip) componentes modales para ser utilizado de manera similar a la Alert y la Window de Flash Player. El objetivo es mostrar un clip de película por encima de todos, desactivar - y - el acceso a la base y cualquier otro presente objeto / componente. Para ser honesto he conseguido que al hacer un poco de ingeniería inversa del código de Adobe, que está en el claro! Yo simplemente no resisten ;)

El artefizio que se utiliza para desactivar todas las interfaces actuales por debajo de nuestro clip de película, es crear un clip de película transparente de tomar toda el área del escenario. a false . En este clip de película, que será visible prácticamente no quede un método de "vacío" en el evento onRelease , teniendo cuidado de establecer el useHandCursor de false .

Primero de todo, crear una película con cualquier interfaz en el escenario principal:

Interfaz

e un bottone usato aprire il nostro MovieClip modale: il nostro popUp personalizzato. Este consiste en un TextField , un TextInput y un botón que se usa para abrir nuestros modales MovieClip emergente por nuestra cuenta.

Cuando vamos a añadir nuestro símbolo con attachMovie() es lo que veremos:

MovieClip modal

Me fui en rojo ( alpha=10 ) el fantasma MovieClip que cuelga debajo de la interfaz, con el fin de ser visto. Nuestro símbolo se puede hacer de ninguna manera, acaba de establecer en las propiedades de un identificador (por ejemplo, moviemodal) y la clase 2.0 para MovieClipModal:

Configuración de icono

Aquí la clase MovieClipModal:

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
/ *
**
** Archivo: MovieClipModal.as
** Autor: Giovambattista Fazioli (@ g.fazioli undolog.com)
** Web: http://www.undolog.com
** E-mail: g (punto) Fazioli (a) undolog (punto) (com)
** Creado: 08/11/2007 23:57
** Actualización: 11/08/2007 23:57
**
**
* /
managers . DepthManager ; . mx importación gerentes DepthManager.;
/ /
MovieClip { MovieClipModal clase amplía MovieClip {
/ /
__release : String = "1.0" ; var __release privado: Cadena = "1.0";
/ /
__modal_mc : MovieClip ; privado __modal_mc var: MovieClip ;
/ /
__movieWidth : Number = 0 ; var __movieWidth privado: Número = 0;
__movieHeight : Number = 0 ; var __movieHeight privado: Número = 0;
__left : Number = 0 ; var __left privado: Número = 0;
__right : Number = 0 ; var privado __right: Número = 0;
__top : Number = 0 ; var __top privado: Número = 0;
__bottom : Number = 0 ; var __bottom privado: Número = 0;
/ /
MovieClipModal función () {
scaleMode = "noscale" ; Pasantías scaleMode = "noScale".;
addListener ( this ) ; Pasantías addListener (este).;
/ /
onLoad = _onLoad;
onUnload = _onUnload;
/ /
width ; __movieWidth = Etapa . ancho;
height ; __movieHeight = Etapa . de altura;
}
/ *
_onLoad ** () - Envuelva onLoad MovieClip
* /
_onLoad ( ) { _onLoad función privada () {
/ / Key.addListener (este);
/ /
"__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 (este);
; __modal_mc _alpha = 10.;
/ / _global.style.modalTransparency;
= __modal_mc . useHandCursor = false ; . __modal_mc tabEnabled = __modal_mc useHandCursor = false.;
/ /
( ) { } ; __modal_mc onRelease = function () {}.;
/ /
onResize ();
}
/ *
_onUnload ** () - Envuelva onUnload MovieClip
* /
_onUnload ( ) { _onUnload private function () {
; . __modal_mc removeMovieClip ();
}
/ *
** OnKeyDown - empaquetado de claves
* /
onKeyDown ( ) { onKeyDown private function () {
Key . getCode ( ) == Key . TAB ) { if (Key. getCode () == Key. TAB) {
/ / Selection.setFocus ();
}
}
/************************************************* *******************************************
OnResize ** () evento
************************************************** ******************************************/
onResize ( ) { onResize función privada () {
Number = Math . round ( Stage . width ) ; var sw: Número = Matemáticas y vuelta (. Etapa de ancho.)
Number = Math . round ( Stage . height ) ; var SH: Número = Matemáticas y vuelta (. Etapa de altura.)
Number = Math . round ( this . __movieWidth ) ; ow var: Número = Matemáticas . ronda (this. __movieWidth);
Number = Math . round ( this . __movieHeight ) ; Oh var: Número = Matemáticas ronda (this. __movieHeight).
/ /
Math . floor ( ( ( sw - ow ) / 2 ) ) ; __modal_mc _x = -. Matemáticas piso (((sw - ow) / 2)).;
Math . floor ( ( ( sh - oh ) / 2 ) ) ; __modal_mc _y = -. Matemáticas piso (((sh - h) / 2)).;
. width ; __modal_mc _width =. Etapa de ancho.;
. height ; __modal_mc _height =. Etapa de altura.;
}
}

Esta clase es sólo un ejemplo y puede ser ampliado y mejorado. Pero a medida que funciona muy bien. (righe 43 e 52). De particular interés es el uso de DepthManager para su colocación en el fondo de nuestro modal MovieClip, gracias a la constante kTopmost (líneas 43 y 52).

Tenga en cuenta también la presencia (comentario en esta versión) a las filas 41 y 70 de un controlador adicional para el teclado. Nuestro pop-up, de hecho, contiene un botón que elimina un posible inesperada en este sistema. La adición de la MovieClip fantasma (líneas 43 a 57) y empató artefizio evento onRelease() no impide que ciertos movimientos, como pulsar la tecla Tab del teclado. En algunos casos, por lo tanto, puede ser necesario para interceptar las tareas del teclado antes de desviar otros lugares, como la restauración de fuego a un control interno para nuestros modales MovieClip.

One Response to "Crear modal MovieClip TopMost"

  1. 09 de diciembre 2007 upnews.it :

    undolog  »Blog Archive » Crear MovieClip modal superior ...

    Ilustran una técnica para crear símbolos (MovieClip) el modo de utilizar componentes similares y Flash ventana de alerta. € ™ s objetivo es mostrar un clip de película por encima de todos los demás, la desactivación - así - € ™ s el acceso a la zona subyacente ... € ™

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Dejar de SOPA