Créer TopMost MovieClip modale

Lundi, Novembre 12, 2007

Illustrent une technique pour créer des symboles (MovieClip) les procédures à utiliser la même façon que les composants Alert et Window Flash. L'objectif est de montrer un MovieClip dessus tous les autres, la désactivation - ainsi - l'accès à la zone en dessous et tout autre objet / composant présent. Pour être honnête, j'ai réussi tout cela en faisant un peu d'ingénierie «renverser par les codes d'Adobe, qui sont claires! Je n'ai pas résisté ;)

Le Artefizio qui est utilisé pour désactiver l'interface ci-dessous présente toute notre MovieClip, est de créer un MovieClip transparent, qui tient toute la zone de la scène. Dans ce MovieClip, qui sera pratiquement pas visible crochets en place une méthode de «vide» sur le onRelease en prenant soin de fixer le useHandCursor propriété à false

Tout d'abord nous créons un film avec n'importe quelle interface sur la scène principale:

Interface

Il consiste en un TextField une TextInput et un bouton permettant d'ouvrir nos modale MovieClip: notre contextuel personnalisé.

Lorsque nous avons ajouté notre symbole à l'aide attachMovie() nous verrons ce que seront les suivants:

MovieClip modale

Je suis parti en rouge alpha=10 le fantôme MovieClip qui se bloque sous l'interface de manière à être vu. Notre symbole peut être fait en aucune façon, suffit de définir les propriétés d'un identificateur (par exemple moviemodal) et la classe 2,0 à MovieClipModal:

Paramètres symbole

Voici la classe MovieClipModal:

ActionScript
  1. / *
  2. **
  3. ** Fichier: MovieClipModal.as
  4. ** Auteur: Giovambattista Fazioli (g.fazioli @ undolog.com)
  5. ** Web: http://www.undolog.com
  6. ** Courriel: g (dot) Fazioli (at) Undolog (dot) com ()
  7. ** Crée: 08/11/2007 23.57
  8. ** Mise à jour: 08/11/2007 23.57
  9. **
  10. **
  11. * /
  12. managers . DepthManager ; import mx. gestionnaires. DepthManager;
  13. / /
  14. MovieClip { MovieClipModal classe étend MovieClip (
  15. / /
  16. __release : String = "1.0" ; privé __release var: String = "1.0";
  17. / /
  18. __modal_mc : MovieClip ; privé __modal_mc var: MovieClip;
  19. / /
  20. __movieWidth : Number = 0 ; privé __movieWidth var: Number = 0;
  21. __movieHeight : Number = 0 ; privé __movieHeight var: Number = 0;
  22. __left : Number = 0 ; privé __left var: Number = 0;
  23. __right : Number = 0 ; privé __right var: Number = 0;
  24. __top : Number = 0 ; privé __top var: Number = 0;
  25. __bottom : Number = 0 ; privé __bottom var: Number = 0;
  26. / /
  27. MovieClipModal function () (
  28. scaleMode = "noscale" ; Stage. ScaleMode = "noscale";
  29. addListener ( this ) ; Stage. AddListener (this);
  30. / /
  31. onLoad = _onLoad;
  32. = onunload _onUnload;
  33. / /
  34. width ; = __movieWidth scène. largeur;
  35. height ; = __movieHeight scène. hauteur;
  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 (this);
  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 - Enveloppement pièce
  69. * /
  70. onKeyDown ( ) { onKeyDown private function () (
  71. Key . getCode ( ) == Key . TAB ) { if (key. getCode () == Key. TAB) (
  72. / / Selection.setFocus ();
  73. )
  74. )
  75. /************************************************* *******************************************
  76. ** OnResize () événement
  77. ************************************************** ******************************************/
  78. onResize ( ) { onResize private function () (
  79. Number = Math . round ( Stage . width ) ; var sw: Number = Math. ronde (Stage. largeur);
  80. Number = Math . round ( Stage . height ) ; var sh: Number = Math. rondes (hauteur Stage.);
  81. Number = Math . round ( this . __movieWidth ) ; var OW: Number = Math. ronde (this. __movieWidth);
  82. Number = Math . round ( this . __movieHeight ) ; var oh: Number = Math. ronde (this. __movieHeight);
  83. / /
  84. Math . floor ( ( ( sw - ow ) / 2 ) ) ; __modal_mc. _x = - Math. floor (((sw - oe) / 2));
  85. Math . floor ( ( ( sh - oh ) / 2 ) ) ; __modal_mc. _y = - Math. floor (((sh - OH) / 2));
  86. . width ; __modal_mc. _width = scène. largeur;
  87. . height ; __modal_mc. _height = scène. hauteur;
  88. )
  89. )

Cette classe n'est qu'un exemple et peut être étendu et amélioré. Toutefois, comme il fonctionne correctement. Particulièrement intéressant est l'utilisation de DepthManager pour le placement à des profondeurs de notre modale MovieClip, merci à kTopmost constants (lignes 43 et 52).

Notez également la présence (commentaire dans cette version), aux lignes 41 et 70 d'un usager supplémentaire pour le clavier. Nos pop-ups, en fait, contient un bouton qui supprime un inattendus dans ce système. L'ajout de Ghost MovieClip (lignes 43 à 57) et l'événement lié onRelease() Artefizio onRelease() n'empêche pas certains mouvements à partir du clavier en appuyant sur la touche TAB. Dans certains cas, par conséquent, mai nécessité de l'activité de clavier intercepter avant de détourner ailleurs, comme la restauration de l'incendie à un contrôle interne à notre modale MovieClip.

Related Post

Cet article était utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Chargement ...

Un commentaire pour "Créer MovieClip TopMost modal"

  1. getAvatar 1.0
    09 dic 2007 upnews.it:

    Undolog  »Archives du Blog » Création d'MovieClip TopMost modal ...

    Illustrent une technique pour créer des symboles (MovieClip) les procédures à utiliser la même façon que les composants et les fenêtre d'alerte Flash. Lâ € ™ objectif est de montrer un MovieClip dessus tous les autres, la désactivation - même - € ™ lâ € ™ accès à la zone sous-jacente ...

Laissez un commentaire

TAG PERMISSIONS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <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