begin process at 2012 05 27 18:38:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

jeudi 12 février 2009 à 16:13:21 | Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

Bonjour à tous,
Je rencontre un soucis sous Flash cs3 et j'aurais besoin de votre aide :

Je possède un plan où se situe des objets graphiques qui représentent des bâtiments, je les ai converti en symbole (MovieClip) et j'aimerais les faire interagir dans mon code AS3. J'ai une Main (.as) qui est la classe de définition de ma scène (plan.fla).

Pour se faire j'aimerais utilisé la méthode getChildByName() (sur ma Main), qui demande en paramètre le nom de l'objet à trouver... Le problème est que je n'ai aucune idée de ce à quoi correspond ce nom sur mon .fla.
Est-ce le nom d'occurrence ? Le nom du symbole dans la bibliothèque ? ; j'ai essayé les deux mais flash me retourne 'null' .
 
Voici un extrait de mon code :

  [CODE=ActionScript]
      
        var leNomBat:String;
        // Récupère le nom du Batiment sélectionné dans la liste. 
        leNomBat=saveServiceSelect.getLeBatiment().getNomBatiment();
        trace(leNomBat); // renvoie un String (exemple "B1A")   
        trace(this.getChildByName(leNomBat)); // affiche null
           
[/CODE]

Ici, sur mon .fla j'ai un MovieClip portant le nom d'occurrence "B1A" et dont le nom de symbole est exactement le même. Pourtant getChildByName() me retourne 'null'. Ma question est : Est-ce que je dois créer une classe ayant pour nom "B1A" (et si c'est le cas j'en aurais une pour chaque bâtiment ; soit une vingtaine ) ? Où existe-t-il une autre méthode ?


Merci de m'avoir lu, j'ai essayé d'être le plus clair possible mais je ne sais pas vraiment comment poser le problème, alors soyez compréhensifs s'il vous plaît .

 
jeudi 12 février 2009 à 16:59:55 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

pegase31

Membre Club Administrateur CodeS-SourceS
Bonjour,

Une classe Custom ne peut pas voir les éléments présents sur la bibliothèque à moins de les-lui passer en paramètre.
La solution la plus simple serait que ce soit ta classe elle-même qui place le movieClip sur la scène (sur elle-même, étant déjà sur la scène). A ce moment-la, elle pourra les manipuler.
Pour obtenir une occurence d'un movieClip de la bibliothèque dans ta classe, il suffit de faire :

var monClip:NomLiaison = new NomLiaison();

Peg'
jeudi 12 février 2009 à 23:28:09 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

Bonsoir,

[QUOTE="pegase31"] La solution la plus simple serait que ce soit ta classe elle-même qui place le movieClip sur la scène [/QUOTE]

Le problème est qu'il s'agit de forme tracées à l'aide de l'outil plume et complètement ' difformes ' , donc quasiment impossible à générer par le code :s.

[QUOTE="pegase31"] var monClip:NomLiaison = new NomLiaison(); [/QUOTE]

Qu'est-ce que tu entend par 'NomLiaison' ?

Merci tout de même de la réponse ça m'a un peu éclairer sur le sujet, je vais continuer d'y réfléchir.


vendredi 13 février 2009 à 04:24:27 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

pegase31

Membre Club Administrateur CodeS-SourceS
Tu dois transformer tes formes en movieClip et donc les avoir dans ta bibliothèque, que tu exportes pour actionscript ...
Tu n'as jamais fait ça ?

Peg'
vendredi 13 février 2009 à 08:08:46 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

Bonjour,



Si je l'ai déjà fait, mais je ne savais pas qu'on pouvais le faire directement par le code ^^.

Donc si j'ai bien compris, il faudra que je fasse :

var : mc1 : monBatiment : new nomBatiment();

Par contre est-ce que ma liaison peut être utilisée plusieurs fois, c'est à dire pour plusieurs MovieClip ?

La classe 'monBatiment'  servant de liaison ca donnerait :

var nomSymbole1:monBatiment : new monBatiment();
var nomSymbole2:monBatiment : new monBatiment();

vendredi 13 février 2009 à 08:37:59 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

pegase31

Membre Club Administrateur CodeS-SourceS
oui, tu peux . c'est même conseillé.

Peg'
vendredi 13 février 2009 à 09:09:14 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

Ok, merci du coup de main ;)
Sinon j'ai vu qu'on pouvait utiliser une méthode statique pour attacher un symbole à un clip ( registerClass() ) :

[ Lien ]

Est-ce qu'il vaut mieux utiliser cette méthode plutôt qu'une déclaration standard ?
vendredi 13 février 2009 à 09:15:04 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

{Peut-on éditer un message ? :s}

Le lien correct : Lien
vendredi 13 février 2009 à 10:28:31 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

(Désolé pour le triple post)

Ca veut pas me mettre le vrai lien donc je vais le mettre en texte  :

http://livedocs.adobe.com/flash/9.0_fr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_bak&file=00005394.html

Sinon j'ai toujours un problème :

bat_B1A est déclarée dans le corps de ma Main en attribut public (var public).
Je l'initialise dans mon constructeur :

{Code=Main.as/Main()}

bat_B1A = new myBatimentMedical("bat_B1A");
this.addChild(bat_B1A);

{/Code}

Cette fonction se lance sur un event de bouton :

{Code=Main.as/function affichePlan()}

trace(bat_B1A.getNomBatiment());
bat_B1A.visible = false;

{/Code}

J'arrive bien à récupérer le nom du bâtiment ce qui signifie que ma variable est visible par ma fonction. Néanmoins, je n'arrive pas à cacher mon composant.


lundi 16 février 2009 à 09:29:56 | Re : Peut-on attacher plusieurs MovieClip à une seule classe ? {AS3}

valvincent

Pegase31, m'as proposé une solution en privé qui est de transférer le code de ma main sur un calque actions ce qui faciliterai l'accès aux objets de la scène.

Bien que cette solution fonctionne, je trouve qu'il s'agit un peu de 'bricolage', et ce projet étant d'ordre professionnel j'aimerais clarifier le plus possible mon programme.

Auriez-vous une autre solution ?

1 2

Cette discussion est classée dans : code, classe, movieclip, as3, lenombat


Répondre à ce message

Sujets en rapport avec ce message

Full POO AS3 [ par Orange73 ] Hello tout le monde, Je suis actuellement en plein brainstorming (à ne plus dormir lol) sur : Utiliser la POO, oui mais quand ? Quand on developpe Inserer boutons dans movieclip as3 [ par fabigol ] je voudrais savoir comment fait on pour ajouter en actionScript3 un bouton à un movieclip? mon code: var mc:MovieClip=new MovieClip() var boutons:Arra [ FlashCS4 / AS3 / XML ] Gestion d'une base XML et boucles ... [ par vedelvetsyn ] Bonjour, j'ai une question pour des connaisseurs en [ FlashCS4 / AS3 / XML ]. Le but final est d'obtenir un bouton qui lorsqu'on cliquera dessus, la Accéder a l'instance d'une classe [ par Orange73 ] Hello, J'ai ce code : [code=as] var nbItems:Number = 3; var clip:CustomClip; for(var i=0 ; i<nbItems ; i++) { clip = new CustomClip(this["btn"+i] Problème avec un bouton se trouvant dans un movieclip [ par yopdiesel ] Bonjour à tous! Bon, je débute en as3 (j'utilise flash cs4) et d'ordinaire, quand je suis confronté à un problème, je demande conseil à mon bon ami Go [AS3] Création dynamique de boutons et de leur écouteur respectif [ par vedelvetsyn ] Encore un problème... j'entendais souvent que l'AS3 c'était super fastidieux, mais j'imaginais pas autant [^^happy17] Mais c'est sympa de se prendre l Bouton qui ne réagis pas maglré code AS3 [ par ayouns ] Salut, Voila j'ai fait un bouton en clip le tout en AS3 quand je code pas les "function" je vois très bien mon animation voulu comme bouton. Mais de Evènement click sur une occurrence clip AS3 [ par AOE_angelofdarkness ] Bonjour tout le monde, Je me mets petit à petit à l'AS3 et forcement je rencontre quelques difficultés. Je voudrais savoir s'il est possible de créer [AS3] Gestion de carractères dans un KeybordEvent [ par vedelvetsyn ] Bonjour, Voila la situation : [code=as] zoneIpunt.addEventListener(KeyboardEvent.KEY_DOWN, retourInput); function retourInput(evt:KeyboardEvent):voi [AS3 / PHP] Exporter une variable ... [ par vedelvetsyn ] Mon problème est simple a expliquer. J'ai des variables issues d'un formulaire Flash, et je veux les exporter sur ma page PHP ... J'ai tenté d'appli


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales