AS2 : unloadMovieClip [Résolu]

Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Dernière intervention
8 novembre 2010
- - Dernière réponse : LordGroumf
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Dernière intervention
8 novembre 2010
- 5 nov. 2010 à 17:44
Bonjour,
Je vous expose mon problème tout en précisant que je manipule flash AS2 sans aller trop loin dans les connaissances de code, ce qui fait que je bloque actuellement.

J'ai ma scène principale (anim1) qui contient un bouton qui charge text1.swf via
btn01.onRelease = function (){
createEmptyMovieClip("conteneur", 0);
conteneur.loadMovie("text1.swf");
conteneur._x=215;
conteneur._y=92;
}


Ce clip (text1.swf) contient une fonction qui charge un texte stocké sur un document XML et un bouton pour me permettre de fermer ce text1.swf

Mon problème est que je n'arrive pas vider le conteneur via le swf chargé.

Peut être que je m'y prend mal pour afficher cette "bulle de texte" en chargeant un clip externe et que vous aurez une meilleure idée.
Merci
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
20 juin 2014
3
Merci
Hello,

si le contenu de ton swf externe n'est pas lourd tu auras plus de facilité à gérer ce contenu si tu l'intègres directement dans ton swf principal. Donc concrètement tu auras le code pour charger ton fichier xml dans le swf principal, et les variables en rapport qui seront également définies dans ton swf principal, donc -> une simplicité de gestion du code du fait que tout ce code sera dans le même swf (ainsi pas besoin de LocalConnection()).
Dans les faits tu peux procéder ainsi :
- soit tu stockes ton clip "texte" dans la bibliothèque de ton swf et tu l'affiches via attachMovie lorsque tu le désires, et définis selon la variable le texte à afficher.
- tu peux aussi mettre directement le clip "texte" sur la scène mais en hors champ, de manière à charger le contenu dès l'ouverture de la page par exemple, puis tu déplaces le clip (avec les tweens par exemple) lorsque tu veux l'afficher sur la scène.

Dans les 2 cas ça marchera et tu n'auras pas à te casser la tête avec LocalConnection(), bien que je t'invite tout de même à faire des tests avec LocalConnection() afin de bien comprendre comment ça fonctionne, car sans LocalConnection() il est impossible de faire communiquer 2 swf ensemble en as2.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;

Merci BBFUNK01 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
20 juin 2014
0
Merci
Hello,

en fait si je comprends bien l'action de "supprimer" "text1.swf" se trouve dans "text1.swf" lui-même ? Donc si tel est le cas tu dois passer par LocalConnection() pour indiquer au swf conteneur de "text1.swf" de supprimer ce dernier.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Dernière intervention
8 novembre 2010
0
Merci
Merci déjà d'avoir répondu,
Alors, j'ai tenté de trouver un bout de code correspondant à LocalConnection ()
Puis j'ai essayé par moi même, sans succès.

En revanche, je me posais un question sur l'optimisation de mon animation. Qu'est ce qui serait le plus simple :
- Avoir un seul clip "text" directement dans l'anim principale mais dans la bibliothèque et que j'appelle via un attachMovie et qui affiche mon texte XML en fonction du bouton via une variable?
Ce que j'ai essayé et dans ce cas, il ne prend pas mon clip "btclose" qui permet de fermer la fenêtre ni les indications qui permettent de placer ce clip sur ma scène selon x et y.

- Avoir un swf externe (qui contient mon code vers XML) et l'appeler via un loadClip?
Ici tout fonctionne, mon clip "btclose" présent sur l'anim externe, Excepté que je ne peux placer mon clip selon x y.

- Créer un clip conteneur qui charge le swf externe?
Ça fonctionne mais comme je l'ai déjà dis, je ne peux vider le conteneur via le swf chargé.

- Au final, j'ai une anim principale de 1019x714 qui appelle un swf externe qui fait la même taille 1019x714 pour pouvoir placer ce clip comme je veux.

Je sens que je m'y prend mal, j'ai vraiment envie de progresser et comprendre la meilleure solution qui pour moi semble être la première, mais je pense avoir besoin d'un peu d'aide pour me guider.
Qu'en pensez vous?
Commenter la réponse de LordGroumf
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Dernière intervention
8 novembre 2010
0
Merci
Merci BBFUNK01, j'ai testé les tweens (je voulais voir comment ça marchait donc c'est une bonne occasion qui s'est présentée là)et ça fonctionne parfaitement.
Je me suis servis de ce tuto : http://www.flashkod.com/codes/INTERFACE-VIP-MEMBER-MC-TWEEN-MOTION_50684.aspx et surtout des commentaires ^^


Au final, j'ai donc mon anim principale avec mon clip sur le coté "hors champs", je le fais glisser sur la scène via les tweens, en fonction du bouton cliqué, il se charge du XML correspondant.

Voici le code pour ceux afin d'en faire profiter les débutants comme moi.

stop();
#include "mc_tween2.as"

function chargeXML() {
var contact_xml:XML = new XML();
contact_xml.ignoreWhite = true;
contact_xml.load(i+"text.xml");
contact_xml.onLoad = function(success) {
if (success) {
fenetre.cadre.htmlText = contact_xml.firstChild.toString();
}
};
}

var i = 0;
btn01.onRelease = function (){
i = 1;
chargeXML();
fenetre.xSlideTo(-142,0.5,"easeInOutCirc"); 
}

btn02.onRelease = function (){
i = 2;
chargeXML();
fenetre.xSlideTo(-142,0.5,"easeInOutCirc"); 
}

btn03.onRelease = function (){
i = 3;
chargeXML();
fenetre.xSlideTo(-142,0.5,"easeInOutCirc"); 
}

fenetre.btclose.onRelease = function (){
fenetre.xSlideTo(-1163,0.5,"easeInOutCirc");
}
Commenter la réponse de LordGroumf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.