Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: liens entre 2 documents flash
Envoyé: 28 avril 2004, 14h20 par dada
je ne sais pas où tu as vu cette description de loadMovie. Dans MX2004, ya juste mon_mc.loadMovie("url" [,variables])
, variable etant un parametre facultatif. Tu es sous MX je suppose...ca pose pas de probleme, c'est pareil.
En fait, il faut raisonner comme si on avait des boites (des conteneurs) et des objets à mettre dans ces boites (des swf). Je vais être assez général dans mon explication car je ne connais absolument rien de ton projet, et de plus, vu qu'il est immense, il est peut-être d'autant plus compliqué ! :-)
Déjà, le loadMovie :
- il sert à importer du disque dur un swf.
- il l'importe forcément dans un autre clip.
çà nous fait donc 2 paramètres : 1 clip conteneur et 1 clip contenu.
Voici la syntaxe :
ClipConteneur.loadMovie('ClipContenu');
Apres çà et ... un petit délai dû au chargement(c'est important de le savoir pour un futur et éventuel débogage ;-), le CLipContenu se retrouve à l'intérieur du ClipConteneur. Ya pas besoin d'autres paramètres.
Pour cibler le contenu, ex avec _x :
ClipConteneur.ClipContenu._x = 2;
On pourrait aussi se contenter d'agir sur le conteneur vu que le contenu hérite des propriétés spatiales de son conteneur.
Cà, c'est dans le cas où l'on souhaite charger un autre clip en plus de celui actuellement sur la scène. Mais si on veut effacer le clip actuel en le remplacant par le clip chargé.... pour obtenir le même type de fonctionnement que les séquences par ex, et bien, il faut charger le contenu dans le clip qui contient le contenu actuel (le _root = _level0)).
Dans ce cas, on écrit :
_root.loadMovie('ClipContenu');
ou
this.loadMovie('ClipContenu'); écrit dans le scénario racine.
Ceci a pour effet de remplacer toute l'animation actuelle par le swf nouveau.
Maissss, peut-être vaut-il mieux créer un clip vide plutôt que de faire çà dans le _root.
Voici un petit conseil (mais comme je ne connais pas ton projet, c'est à toi de voir s'il est bon ;-) :
- fais un swf vide, dans lequel tu créé un clip vide (this.createEmptyMovieCLip('Conteneur_mc',1);).
Dans ce clip vide, tu charges ta premiere séquence (this.Conteneur_mc.loadMovie('monPremier.swf');)
puis, à chqaue fois que tu veux changer de page ou séquence, tu fais un _root.Conteneur_mc.loadMovie ('truc.swf');
Enfin, j'aimerais bien t'aider plus, mais les possibilités sont tellement vastes, çà ferait trop à écrire. Peut-être pourrais-tu m'éclairer plus sur l'architecture de ton projet, ton niveau en AS, le contenu général de ce projet...
car un projet de je ne sais plus combien de séquences ou symboles ne se prend pas à la légère ;-) Il faut préparer l'architecture, l'emplacement des différents éléments (le ciblage), il faut optimiser les chargements, l'imbrication des clips, etc... lol
Même si ton projet touche à sa fin, le simple fait de devoir changer son architecture en séquences par une en loadMovie demande bcp de boulot. Alors vaut mieux être sûr à l'avance de la bonne maniere de faire ;)
Mais ceci dit, c'est à coup sûr du loadMovie dont tu as besoin.
Déjà, retente de l'utiliser, essaye d'envisager la nouvelle structure du projet (en pensant boites et contenus = rangement ;-), puis si tu as besoin d'éclaircissements, n'hésite pas à demander ;-)
++
dada
Réponses
|