Tutoriel action Script 3 - 007


Dans le prolongement avec le tutorial (001 - 002 - 003 - 004 - 005 - 006)

4. Liste

L'affichage de la liste, encore une fois traduit les paroles peuvent être compris comme une liste de présentation, a été une innovation majeure dans le flash / flex avec l'AS3, et que maintenant beaucoup ont du mal à s'adapter à de nombreux concepteurs / développeurs habitués à la version précédente. Dans les versions précédentes de l'AS, tous les éléments visuels ont été traitées et présentées séparément dans le swf final qui exige une grande connaissance des programmeurs et surtout beaucoup de code pour faire face à cette présentation visuelle de la preuve et les méthodes pour créer, supprimer et ajouter objets qui ont abouti à un contrôle strict de ces objets et le garbage collector a été incapable de maîtriser.

Le AS3 a apporté une nouvelle manière de traiter avec ces objets et leur présentation, la liste d'affichage. Logiquement, cette liste d'affichage peut être comprise comme une liste d'éléments visuels de mai swf qui comprennent la plupart des objets tels que des boutons et movieclips, mais aussi des formes, des graphiques, des tables rondes et beaucoup d'autres qui n'existaient pas dans les versions antérieures ou qui n'ont pas pu être établie " programmation. "

En bref, l'écran est pratiquement la liste qui contient et qui réglemente la production de tous les éléments visuels à la "création" / présentation d'. Swf final.

4.1. Comprendre la liste d'affichage.

Pour comprendre ce que nous voyons, nous avons la preuve et la logique de ce qui se dit, et comme je l'ai dit ci-dessus, l'affichage est la liste qui gère l'ensemble de nos graphiques. Swf, prenant la parole dans le cas de Flex, j'essaie de faire un Projet de ce que nous faisons comme un diagramme visuel de la liste d'affichage. Supposons que nous avons de flexion:

- Le fond de la demande.

- 1 panneau (Painel1)

- 1 titleWindow (Win1)

- 1 bouton (button1)

- 1 photo à l'intérieur du groupe 1 (img1)

- 1 bouton dans le groupe 1 (Botao2)

- 1 ProgressBar dans le titleWindow (ProgressBar)

La présentation de la liste d'affichage est comme suit:

as3_tut_08

Ceci est un exemple d'une simple application, de sorte que la liste d'affichage est organisée avec différents objets, ceux qui sont énumérés comme "afficher l'objet conteneur" sont des objets que l'appui d'autres objets en leur sein que les enfants ( "enfants"), et comme "objet d'affichage" ne prend pas en charge "nativement" les enfants / "Enfants" au sein de lui-même. (il y en a certains displayObject, selon le cas avec le flex de ModuleLoader ou swfLoader affichage des objets qui sont, mais qui soutiennent les enfants au sein de lui-même).

Comme vous pouvez le voir avec ce régime, il peut facilement réaliser les avantages de la displayList, qui est l'image, nous voyons certains points:

- La scène est la scène principale, nous pouvons comprendre comment l'article contenant tous les autres, et qui est le Père ( "root / root")

- La principale application, qui contient le panneau d'information 1, victoire 1, 1 bouton de son child'se tenant la scène comme son père (parent)

- A son tour, l'enfant du primaire de la demande (groupe 1 et win1) contiennent également des parents de l'enfant en prenant l'application principale.

- Enfin, nous avons les objets (botão2 et img1) comme Childs Groupe 1 et l'objet ProgressBar enfant comme sujet Win1.

Cette mai paraître un peu compliqué, mais il peut avec une simple fonction de nous comprendre cette hiérarchie d'objets:

{ mostraFilhos fonction privé (dispObj: DisplayObject): void (
i: int = 0; i< dispObj.numChildren; i++) { for (var i: int = 0; i <dispObj.numChildren; i + +) (
var obj: DisplayObject = dispObj.getChildAt (i);
DisplayObjectContainer) { if (obj est DisplayObjectContainer) (
trace (obj.name, obj); mostraFilhos (obj);
) Else (
trace (obj);
)
)
)
mostraFilhos (this); / / objets de notre panneau de débogage displayList sera présenté par son bon ordre.

Sera ensuite présenté dans le panneau des objets et déboguer votre Childs (le cas échéant).

Dans cette optique, nous avons quelques nouveaux paramètres:

. NumChildren; indique le nombre de l'enfant sujet.

. GetChildAt (i) Trouvez le nom de l'enfant dans la bonne position de displayList;

DisplayObjectContainer; Compare si l'objet est une displayContainer, où, la liste de leurs enfants aussi, l'appel à la fonction de nouveau.

4.2. Ajout d'un objet pour afficher la liste. addChild ();

Dans flex, tout en les faisant glisser vers moi pour un élément dans un groupe ou pour notre région (en arrière-plan / Application), en fait même de voir le code généré MXML, nous ne voyons pas de référence à addChild, pour la simple raison; Le MXML est un langage XML style qui ne sert que de s'organiser le code d'un simple et logique, mais en réalité ce MXML est complètement transformé en AS3 au moment de la compilation de votre projet, et de prendre les Assurez-vous savoir qu'il n'y a rien dans ce MXML nous ne pouvons pas faire en AS3, voir l'exemple:

version =”1.0″ encoding =”utf-8″ ? > <? Xml version = "1.0" encoding = "utf-8"?>
xmlns:mx =”http://www.adobe.com/2006/mxml” > <Mx: Application xmlns: mx = "http://www.adobe.com/2006/mxml">
id =”simplesArray” > <Mx: Id = Array "simplesArray">
> texto1 </ mx:String > <Mx: String> string1 </ mx: String>
> texto2 </ mx:String > <Mx: String> mot2 </ mx: String>
> </ Mx: Array>
title =”painel1″ > <Mx: Panel title = "painel1">
dataProvider =”{simplesArray}” > <Mx: ComboBox DataProvider = "simplesArray ()">
> </ Mx: ComboBox>
> </ Mx: Panel>
> </ Mx: Application>

En action script 3 en flexion, il serait quelque chose comme:

mx.controls.ComboBox importation;
mx.containers.Panel importation;
Array( “texto1″ , “texto2″ ); var privé simplesArray: Array = new Array ( "mot1", "mot2");
Panel(); var privé panneau: Panneau de configuration = new Panel ();
ComboBox(); var privé combo: ComboBox = new ComboBox ();
painel.id = "painel1";
combo.dataProvider = simplesArray;
painel.addChild (combo);
addChild (panel);

Si vous remarquez-les-moi quelques choses que nous avons à faire, et le nombre de lignes est presque la même. Rechercher soigneusement sur les propriétés et méthodes décrites dans le code, je pense que la seule chose nouvelle est la propriété. Id qui définit l'id de la table ronde, et les importations en haut, l'importation d'objets et ComboBox Groupe d'experts afin qu'ils puissent être utilisés. Nous pouvons aussi voir les méthodes addChild en action, en ajoutant dans la première ComboBox (combo), comme un enfant de la chambre et puis d'ajouter le groupe de la scène principale.

Le addChild est une méthode disponible dans un grand nombre des éléments graphiques sur le flex, si cet exemple peut être appliqué à de nombreux objets dont le principal objectif est d'ajouter à la liste d'affichage ou un autre élément (affichage objet conteneur) de la liste d'affichage.

Où ajouter à la liste d'affichage, utilisez simplement:

addChild (fin);

où l'objet peut être pratiquement n'importe quel composant / displayObject de Flex / Flash

Et pour ajouter à un autre objet déjà fils / enfant de la liste d'affichage:

displayObjectContainer.addChild (but);

où la displayObjectContainer fait l'objet à l'enfant qui sera ajoutée dans le cas ci-dessus, nous utilisons le panneau d'affichage comme un objet conteneur, et que le combo Sujet (Display Object).

Nous pouvons aussi ajouter un affichage objet contenant (panneau par exemple) pour afficher un autre objet contenant (TitleWindow):

meuPainel.addChild (minhaTitleWin);

Ils devraient prendre une attention particulière afficher cette liste parce qu'elle est un élément fondamental dans l'action script 3, qui est mal compris et peut apporter beaucoup de "difficultés" en particulier dans le temps de s'organiser les éléments ajoutés à swf.

Pour l'instant tout est de tout doute dire ... ..

Dans la prochaine partie de la façon dont nous identifier et à supprimer les enfants de la liste d'affichage ou d'autres objets à l'intérieur de la liste d'affichage.

Serrer dans ses bras.

ccommons

http://creativecommons.org/licenses/by-nc-nd/3.0/deed.pt

version pdf temporairement indisponible.
Laissez un commentaire ou laisser un Trackback

5 Commentaires

  1. 9 juin 2008 à 9:36 am | Permalink

    félicitations.

  2. 9 juin 2008 à 12:24 h pm | Permalink

    Mario lien dans le second tutoriel de AS3 ne fonctionne pas.
    http://msdevstudio.com/blog/2008/06/03/tutorial-action-script-3-002/

  3. Juliano
    10 juin 2008 à 12:27 h am | Permalink

    Félicitations à l'occasion de tutoriel, je suis un développeur de PHP depuis des années et maintenant je suis AS3, et aide beaucoup! P succès vous!

  4. HELBER Martins
    30 juin 2008 à 3:50 pm | Lien permanent

    Je ne suis pas en mesure d'accéder au tutorial 5 et 6
    merci

  5. 30 juin 2008 à 7:14 pm | Permalink

    hmm .. a des liens avec la mauvaise date en haut, voir:

    005 - http://msdevstudio.com/blog/2008/06/07/tutorial-action-script-3-005/

    006 - http://msdevstudio.com/blog/2008/06/08/tutorial-action-script-3-006/

    tout problème que vous avez accès à des liens vers les postes de listagen
    http://msdevstudio.com/blog/post-list/

    serrer dans ses bras.

2 Trackbacks

  1. 9:29 am [...] Dans le prolongement avec le tutoriel (001 - 002 - 003 - 004 - 005 - 006 - 007 - 008 [...]

  2. [...] H 12:55 pm Dans le prolongement avec le tutoriel (001 - 002 - 003 - 004 - 005 - 006 - 007 - 008 - [...]

Laisser un commentaire

Votre e-mail n'est jamais publié ou partagé. Les champs obligatoires sont marqués d'un *