|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
Bonjour,
Je suis très content de découvrir ce forum en tant que grand débutant sur Flex et inévitablement je me heurte à un grand nombre d'interrogations. En fait, je souhaite manipuler un swf (flash9 et sans actionscript, la timeline ne comportant qu'une seule image) depuis Flex Builder 2.0.1. Ce SWF est une carte de France où chaque département est un symbole clip avec un nom d'occurrence. J'importe le swf sans souci à l'aide de SWFLoader mais je souhaiterai pouvoir travailler sur les propriétés de chaque clip département (ex: je clique sur un bouton et je modifie la propriété alpha du département 75). Quel code AS3 est nécessaire ? Désolé pour la trivialité de ma question mais il faut bien commencer un jour... Merci et bonne journée |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 2 ![]() |
Si le SWF ne comporte pas de code actionscript qui lui permet de recevoir un paramètre, alors, oublies, ce n'est pas possible.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
Et quel est le code AS3 à insérer sur mon swf créé avec Flash CS3 lui permettant de recevoir des paramètres de Flex?
Merci |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
La classe LocalConnection m'a permis de jouer sur les propriétés des clips du swf créé avec Flash.
Par contre, je dispose de Flash CS3, qui a priori peut exporter en flash9, et j'avais cru comprendre que Localconnection était nécessaire pour les swf flash8 mais pas pour flash9. Y'a t'il une méthode plus appropriée pour les swf flash 9 ? |
|
|
00
|
|
|
#5 | ||||
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Si, en fait c’est tout à fait possible (ç'aurait été surprenant !...). Il faut que tu connaisses le chemin de tes clips à partir du Stage (une propriété qui existe pour tous les objets posés sur la scène, regarde la doc).
Un des moyens, consiste à créer une petite méthode récursive qui parse le Stage et ses enfants, ce qui te permet de connaître le chemin de chaque clip, et de comprendre ce qui se passe. Je fais toujours ça quand j’ai perdu un clip. La subtilité vient du fait que ton script est contenu dans un clip qui est au même niveau que ce que tu as posé avec l’outils de design, ce qui signifie qu’il faut redescendre d’un cran dans la hiérarchie graphique, c'est-à-dire utiliser this.parent. Je t’ai fait un script vite fait, essaye de le comprendre. Il y a deux méthodes qui sont employées. L’une, pose un SWF sur la scène via l’outil design de Flex (object SWFsurScene), l’autre charge dynamiquement un SWF depuis un fichier. Dans la console, tu verras tous les contenus de tes clips, tracés par la méthode de parsing recursChildren (chaque enfant est précédé d’un +) . Note que quand aucun nom n’a été spécifié, Flex attribue un nom du type "instance ??". Ensuite, deux méthodes te proposent de référencer la racine de ton SWF. L’une pour le clip chargé, l’autre pour le clip posé. Pour l’exemple, j’ai juste fait un FLA avec trois symboles (MovieClip) posés sur la scène, avec comme noms d’occurrences, clipA, clipB, clipC. Puis j’ai compilé le SWF. Tu noteras que j’ai profité de la méthode de parsing pour intercepter les clips dont j’avais besoin grâce à leur nom, et les rediriger vers une méthode (qui fait ce que tu veux). le code mxml: Code :
Code :
Bon courage !
|
||||
|
|
00
|
|
|
#6 | ||||
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Mouais...
on pourrait même améliorer Code :
Code :
ps. si ça marche, oublie pas de répondre avec le tag [Résolu] |
||||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Ha et encore, jète un oeil au tutoriel
http://iteratif.developpez.com/artic.../architecture/ et puis t'es pas trop dans le bon forum... c'est plutôt une question d'AS3 |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
Merci beaucoup d'avoir pris la peine de me répondre de façon aussi détaillée et explicite.
C'est exactement les infos que je recherchais. Tu viens de me faire gagner un temps fou ;-) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com