Crear TopMost MovieClip modal

Lunes, 12 de noviembre 2007

Ilustran una técnica para crear símbolos (MovieClip) los procedimientos que se utilizan de manera similar a los componentes Alert y de Window de Flash. El objetivo es mostrar un MovieClip sobre todos los demás, discapacitante - y - el acceso a la zona de abajo y cualquier otro objeto / componente presente. Para ser honestos he logrado todo esto haciendo un poco de ingeniería inversa "de los códigos de Adobe, que son claras! No me han resistido ;)

El Artefizio que se utiliza para deshabilitar cualquiera de los presentes la interfaz por debajo de nuestro MovieClip, es crear un MovieClip transparente que tenga toda la zona del escenario. En este MovieClip, que será prácticamente no visible ganchos de un método de "vacío" en la onRelease teniendo cuidado de establecer el useHandCursor propiedad a false

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

Interfaz

Esta consiste en un TextField un TextInput y un botón para abrir nuestros modal MovieClip: nuestra emergente personalizado.

Cuando agregamos nuestro símbolo utilizando attachMovie() lo que veremos será:

MovieClip modal

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

Símbolo Ajustes

Esta es la clase MovieClipModal:

ActionScript
  1. / *
  2. **
  3. ** Archivo: MovieClipModal.as
  4. ** Autor: Giovambattista Fazioli (g.fazioli @ undolog.com)
  5. ** Web: http://www.undolog.com
  6. ** Email: g (punto) Fazioli (a) Undolog (punto) (com)
  7. ** Creado: 08/11/2007 23.57
  8. ** Modificado: 08/11/2007 23.57
  9. **
  10. **
  11. * /
  12. managers . DepthManager ; mx de importación. directivos. DepthManager;
  13. / /
  14. MovieClip { Clase MovieClipModal extiende MovieClip (
  15. / /
  16. __release : String = "1.0" ; __release private var: String = "1.0";
  17. / /
  18. __modal_mc : MovieClip ; __modal_mc private var: MovieClip;
  19. / /
  20. __movieWidth : Number = 0 ; __movieWidth private var: Número = 0;
  21. __movieHeight : Number = 0 ; __movieHeight private var: Número = 0;
  22. __left : Number = 0 ; __left private var: Número = 0;
  23. __right : Number = 0 ; __right private var: Número = 0;
  24. __top : Number = 0 ; __top private var: Número = 0;
  25. __bottom : Number = 0 ; __bottom private var: Número = 0;
  26. / /
  27. Función MovieClipModal () (
  28. scaleMode = "noscale" ; Escenario. ScaleMode = "noscale";
  29. addListener ( this ) ; Escenario. AddListener (this);
  30. / /
  31. onLoad = _onLoad;
  32. = onunload _onUnload;
  33. / /
  34. width ; = __movieWidth escenario. anchura;
  35. height ; = __movieHeight escenario. altura;
  36. )
  37. / *
  38. ** _onLoad () - Wrap onLoad MovieClip
  39. * /
  40. _onLoad ( ) { _onLoad private function () (
  41. / / AddListener (this);
  42. / /
  43. "__modal_mc" , DepthManager . kTopmost ) ; = _root __modal_mc. createEmptyMovieClip ( "__modal_mc" DepthManager. kTopmost);
  44. ( ) ; __modal_mc. Clear ()
  45. ( 0xff0000 , 100 ) ; __modal_mc. beginFill (0xFF0000, 100);
  46. ( 0 , 0 ) ; __modal_mc. moveTo (0, 0);
  47. ( 100 , 0 ) ; __modal_mc. lineTo (100, 0);
  48. ( 100 , 100 ) ; __modal_mc. lineTo (100, 100);
  49. ( 0 , 100 ) ; __modal_mc. lineTo (0, 100),
  50. ( ) ; __modal_mc. endFill ();
  51. / /
  52. this ) ; __modal_mc. setDepthBelow (este)
  53. ; __modal_mc. _alpha = 10,
  54. / / _global.style.modalTransparency;
  55. = __modal_mc . useHandCursor = false ; __modal_mc. tabEnabled = __modal_mc. useHandCursor = false;
  56. / /
  57. ( ) { } ; __modal_mc. onRelease = function () ();
  58. / /
  59. onResize ();
  60. )
  61. / *
  62. ** _onUnload () - Wrap onUnload MovieClip
  63. * /
  64. _onUnload ( ) { _onUnload private function () (
  65. ; __modal_mc. removeMovieClip ();
  66. )
  67. / *
  68. ** OnKeyDown - Envoltura número
  69. * /
  70. onKeyDown ( ) { onKeyDown private function () (
  71. Key . getCode ( ) == Key . TAB ) { if (key. getCode () == Key. TAB) (
  72. / / Selection.setFocus ();
  73. )
  74. )
  75. /************************************************* *******************************************
  76. ** OnResize () evento
  77. ************************************************** ******************************************/
  78. onResize ( ) { private function onResize () (
  79. Number = Math . round ( Stage . width ) ; sw var: Número = Matemáticas. ronda (Stage. ancho);
  80. Number = Math . round ( Stage . height ) ; SH var: Número = Matemáticas. ronda (altura Stage.)
  81. Number = Math . round ( this . __movieWidth ) ; ow var: Número = Matemáticas. ronda (this. __movieWidth);
  82. Number = Math . round ( this . __movieHeight ) ; var ay: Número = Matemáticas. ronda (this. __movieHeight);
  83. / /
  84. Math . floor ( ( ( sw - ow ) / 2 ) ) ; __modal_mc. _x = - Matemáticas. piso (((sw - OW) / 2));
  85. Math . floor ( ( ( sh - oh ) / 2 ) ) ; __modal_mc. _y = - Matemáticas. piso (((sh - oh) / 2));
  86. . width ; ancho __modal_mc. _width = escenario.;
  87. . height ; altura __modal_mc. _height = escenario.;
  88. )
  89. )

Esta clase es sólo un ejemplo y puede ser ampliado y mejorado. Sin embargo, ya que funciona bien. De particular interés es el uso de DepthManager para la colocación en las profundidades de nuestro modal MovieClip, gracias a kTopmost constante (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-ups, de hecho, contiene un botón que elimina un posible inesperado en este sistema. La adición del fantasma MovieClip (líneas 43 a 57) y el suceso relacionado con Artefizio onRelease() no impide que algunos movimientos desde el teclado, como pulsar la tecla TAB. En algunos casos, por lo tanto, puede ser necesario a la actividad del teclado antes de interceptar a desviar en otros lugares, como la restauración de fuego a un control interno para nuestros modal MovieClip.

Post relacionados

Fue útil esta información?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Cargando ...

Un comentario a "Crear TopMost MovieClip modal"

  1. getAvatar 1,0
    09 dic, 2007 upnews.it:

    Undolog  »Blog Archive » Creación de TopMost MovieClip modal ...

    Ilustran una técnica para crear símbolos (MovieClip) los procedimientos que se utilizan de manera similar a los componentes y la ventana de alerta de Flash. Lâ € ™ objetivo es mostrar un MovieClip sobre todos los demás, discapacitante - incluso - € ™ lâ € ™ acceso a la zona subyacentes ...

Deja tu comentario

TAG XHTML RESTRICCIONES: <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 [as][/as]           // Actionscript [css][/css]         // CSS Style Sheet [html][/html]       // HTML [js][/js]           // Javascript [objc][/objc]       // Objective-C [php][/php]         // PHP [sql][/sql]         // SQL