Animations Flash redimensionnable: Acte II

Revenant à la Poste classe StageExt: animations Flash redimensionnable voici une encore plus facile à obtenir le même effet, que si la bibliothèque de notre film est au moins un composant Flash!

Créer un symbole, un carré rouge 100 × 100 et le mettre dans les stades resizeWindow appelant. Entrez dans la bibliothèque, et non pas sur la scène, tout composant, comme un TextInput et entrez le code suivant dans la première image du film.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
managers . SystemManager ; . importation mx gestionnaires SystemManager.;
/ /
scaleMode = "noscale" Stages . scaleMode = "noScale"
/ /
/ / SystemManager.init ();
( "resize" , resizeWindow ) ; . SystemManager addEventListener ("resize", resizeWindow);
/ /
= function ( Void ) : Void { . resizeWindow redimensionner = function (Void): Void {
Object = SystemManager . screen ; var s: Objet . SystemManager = écran;
_width = s . width ; . présent _width = largeur s.;
_height = s . height ; ce _height = s. hauteur.;
_x = Math . round ( s . x ) ; . présent _x = Math . ronds (art. X);
_y = Math . round ( s . y ) ; . cet _y = Math . ronde (S. Y);
}
( ) ; resizeWindow redimensionner ().;

La ligne 6 (SystemManager.init ();) peut être omis.

Est intéressant de noter la présence de deux variables globales qui indiquent la taille du film original. Ce sont améliorées par la présence du composant dans la bibliothèque! Le StageExt classe, en fait, nécessaire au moment de sa création, le passage de la taille du film (porter un morceau de code):

1
2
3
4
5
6
7
8
9
10
11
] [...]
w : Number , h : Number ) { StageExt fonction (w: Number , h: Number ) {
"StageExt::constructor" ) ; trace ("StageExt:: constructeur»);
/ /
__movieWidth = w;
__movieHeight = h;
/ /
addListener ( this ) ; Stages addListener (this).;
}

] [...]

che forniscono rispettivamente la larghezza e l'altezza del MovieClip principale. Cette étape peut être évitée en utilisant _global.origWidth et _global.origHeight qui fournissent la largeur et la hauteur du MovieClip principal. Le code peut donc être réécrite comme:

1
2
3
4
5
6
7
8
9
10
] [...]
w : Number , h : Number ) { StageExt fonction (w: Number , h: Number ) {
"StageExt::constructor" ) ; trace ("StageExt:: constructeur»);
/ /
. __movieWidth = _global origWidth;
. __movieHeight = _global origHeight;
/ /
addListener ( this ) ; Stages addListener (this).;
}
] [...]

e _global.origHeight . Ou si vous préférez, vous pouvez passer en revue l'ensemble du procédé onResize() , et font directement référence à _global.origWidth et _global.origHeight . Toutefois, par souci d'exhaustivité, ces deux variables globales sont définies dans le fichier sous le sapin UIObjectExtensions.as mx.core.ext . Ils sont fixés en prenant tout simplement la taille de l'étape du démarrage, à savoir:

1
2
3
4
5
6
7
8
9
10
11
12
] [...]

/ / Le joueur redimensionne et les centres de la scène. Nous avons besoin de savoir ce que nos originale
/ Taille / Stage est afin de savoir comment nous, où centré. Que le FMX notes
/ / Semble authoring joueur mal le rapport de la taille.
_global . _origWidth == undefined ) if (_global. _origWidth == undefined)
{
. width ; _global origWidth =. Stade largeur.;
. height ; _global origHeight =. Stade hauteur.;
}

] [...]

Tout cela est évidemment un cas spécial et ne peut être prolongé que d'un cas général. Cependant, il est intéressant de noter que ce type de parcelles.

One Response to "Flash redimensionnable Films: Acte II"

  1. 8 novembre 2007 Blog Disque Vidéo »redimensionnable Films Flash: Acte II:

    [...] Daniel Langendorf: [...]

Laisser un commentaire

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