Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Unload Loader et content [ Scripts / ActionScript ] (Orange73)

vendredi 31 octobre 2008 à 11:50:01 | Unload Loader et content

Orange73

Membre Club
Hello,

voila j'ai un soucis de loader en AS3.

Je souhaiterai unloader le contenu précédent du loader a chaque fois qu'on change ce contenu.

J'ai ce code :

var loader:Loader = new Loader;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadErrorHandler);

function loadErrorHandler(e:Event):void {
    trace("erreur pendant le chargement !");
    showLoader(false);
}

function loaderCompleteHandler(e:Event):void {
    showLoader(false);
    MovieClip(this.parent).gotoAndPlay("off");
    varSeeAll = "down";
    if(id == 1){
        MovieClip(this.parent.parent).imgFond.gotoAndPlay("off");
    }
    if(currentId == 0){
        MovieClip(this.parent.parent).gotoAndPlay("in");   
    }
    MovieClip(this.parent.parent).cible.addChild(loader.content);
    MovieClip(this.parent.parent).currentClipRef = loader.content;
}

function showLoader(pVal:Boolean):void {
    MovieClip(this.parent.parent).sLoad.visible = pVal;

    if (pVal) {
        stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
        MovieClip(this.parent.parent).sLoad.x = stage.mouseX;
        MovieClip(this.parent.parent).sLoad.y = stage.mouseY;
    } else {
        stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
    }
}

function mouseMoveHandler(e:MouseEvent):void {
    MovieClip(this.parent.parent).sLoad.x = stage.mouseX;
    MovieClip(this.parent.parent).sLoad.y = stage.mouseY;
}



/*########## BOUTONS COLLECTIONS ##########*/

for(i=1;i<=nbItems;i++){
    var allBT:SimpleButton = this["b"+i];
    allBT.addEventListener(MouseEvent.CLICK, MouseClick);
    allBT.addEventListener(MouseEvent.MOUSE_OVER, MouseOver);
    allBT.addEventListener(MouseEvent.MOUSE_OUT, MouseOut);
}

function MouseOver(e:MouseEvent){
    id = e.currentTarget.name.substr(1,2);
    if(id != currentId) {
        this["c"+id].gotoAndPlay("on");
        if(id == 1){
            MovieClip(this.parent.parent).imgFond.gotoAndPlay("on");
        }
    }
}

function MouseOut(e:MouseEvent){
    if(id != currentId) {
        this["c"+id].gotoAndPlay("off");
        if(id == 1){
            MovieClip(this.parent.parent).imgFond.gotoAndPlay("off");
        }
    }
}

function MouseClick(e:MouseEvent){
    var url:URLRequest = new URLRequest("anim.swf");
    showLoader(true);
    loader.load(url);
   
    if(currentId != 0){
        this["c"+currentId].gotoAndPlay("off");
    }
    currentId = id;
}



merci de votre aide. :)

vendredi 31 octobre 2008 à 11:59:53 | Re : Unload Loader et content

pegase31

Membre Club Administrateur CodeS-SourceS
bonjour,

Lorsque tu fais "Loader.load()", son contenu est automatiquement vidé.
Quel est le problème ?

vendredi 31 octobre 2008 à 12:04:05 | Re : Unload Loader et content

Orange73

Membre Club
Lorsque je clic sur un bouton, sa fonctionne... mais dès que clci sur un autre pour changer le contenu j'ai lemessage d'erreur :

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::Loader/_load()
    at flash.display::Loader/load()
    at collections01_MODIF_fla::barreBas_7/MouseClick()



vendredi 31 octobre 2008 à 12:10:24 | Re : Unload Loader et content

pegase31

Membre Club Administrateur CodeS-SourceS
ça n'a rien à voir avec le fait de vider le loader, c'est juste que le loader que tu cibles ne fait pas partie de la liste d'affichage de l'objet qui lance le load.

Le problème se trouve apparemment dans les "parent" que tu appelles.

Tu devrais utiliser l'argument "e" que tu initialises dans tes fonctions, il te permet de retrouver l'objet qui dispatche l'évènement à l'aide de "e.currentTarget".
C'est d'ailleurs fait pour ça.

Peg'

vendredi 31 octobre 2008 à 12:11:54 | Re : Unload Loader et content

Orange73

Membre Club
Je crois que j'ai trouvé le probleme...

function loaderCompleteHandler(e:Event):void {
    showLoader(false);
    MovieClip(this.parent).gotoAndPlay("off");
    varSeeAll = "down";
    if(id == 1){
        MovieClip(this.parent.parent).imgFond.gotoAndPlay("off");
    }
    if(currentId == 0){
        MovieClip(this.parent.parent).gotoAndPlay("in");   
    }
    MovieClip(this.parent.parent).cible.addChild(loader);
    MovieClip(this.parent.parent).currentClipRef = loader;

}


J'ai remplacer loader.content par loader.


Tu peux me confirmer si c'est bien cela ?



vendredi 31 octobre 2008 à 12:19:22 | Re : Unload Loader et content

Orange73

Membre Club
Je crois que j'ai trouvé le probleme...

function loaderCompleteHandler(e:Event):void {
    showLoader(false);
    MovieClip(this.parent).gotoAndPlay("off");
    varSeeAll = "down";
    if(id == 1){
        MovieClip(this.parent.parent).imgFond.gotoAndPlay("off");
    }
    if(currentId == 0){
        MovieClip(this.parent.parent).gotoAndPlay("in");   
    }
    MovieClip(this.parent.parent).cible.addChild(loader);
    MovieClip(this.parent.parent).currentClipRef = loader;

}


J'ai remplacer loader.content par loader.


Tu peux me confirmer si c'est bien cela ?

vendredi 31 octobre 2008 à 12:25:13 | Re : Unload Loader et content

pegase31

Membre Club Administrateur CodeS-SourceS
Je ne peux rien confirmer, car je n'ai pas la structure de tes objets ... donc pour moi ça ne change rien.
Si tu n'as plus d'erreur dans ton code et que tout cela fonctionne correctement, c'est que c'est bon.

Peg'

vendredi 31 octobre 2008 à 12:31:19 | Re : Unload Loader et content

Orange73

Membre Club
Oui c'est tout bon..

Merci pour ton aide

juste une dernière chose : a quoi sert alors : loader.content ?



vendredi 31 octobre 2008 à 12:35:22 | Re : Unload Loader et content

pegase31

Membre Club Administrateur CodeS-SourceS
A cibler le contenu du Loader. Ça permet de reprendre l'image chargée et de la modifier à l'aide de BitmapData, par exemple, ou de la stocker en mémoire pour faire des chargements multiples ...

L'application est diverse et variée.

Peg'



Cette discussion est classé dans : id, loader, parent, movieclip, mouseevent


Répondre à ce message

Sujets en rapport avec ce message

Probleme variable = 0 [ par Orange73 ] hello,voila j'ai un soucis de variable (AS3).J'ai le code suivant :import flash.events.*;var nbItems:int = 6;var i:int;var id:int;var currentId:Number Importer un clip sur la scène [ par fleshparade ] Bonjour,D'abord, je ne suis pas une flêche en as3, je débute.Alors voilà mon problème:J'ai ma scène avec un bouton et j'aimerais en clickan dessus imp Drag sur loader [ par Cestmoi ] Bonjour,Je seche sur ce pb... A partir de tutoriaux, j'ai fait ce code simple. Je souhaite charger dynamiquement une image et pouvoir la dragger.// cr loader en interne [ par holoduke ] Bonjour à tous!J'ai un petit soucis:Dans mon flash j'ai :un movieclip(a) que j'ai dupliqué, qui contient un autre movieclip(b) qui sert à accueilir un passage de variable d'as 3 vers un swf loader [ par tonin10 ] Bonjour, j'ai mon fichier fla principal en as 3 avec mes classes. J'ai une classe pub qui est un movieclip , dedans je charge un swf de pub avec un c Problème de loader / unload [ par olliesound ] Salut tout le monde je vous expose mon souci : Réalisant mon portfolio en flash, j'ai créé un swf principal avec des boutons qui lorsque l'on clique Chargements de données et execution du code ... pas top. [ par on_drag_on ] Bonjour à tous.Bon mon titre est pas génial mais comme je saisis pas mon problème j'ai un peu de peine à le décrire. Alors voilà, pour mon pénible app AS3 : TypeError: Error #1010 [ par Yode ] Bonjour,Je suis en train de passer doucement de l'AS2 à l'AS3, et bien sur, ça ne se fait pas sans mal !Voici mon problème : j'ai une animation, qui s Action sur des textes dynamiques et movieClip [ par spg40 ] Bonjour, je crée un moteur de recherche. Je fait ma recherche et je récupère les résultats à travers un fichier PHP. Je mets mes résultats dans des ch Loader des movieClip [ par grafika ] Commment puis-je mettre un «loader» devant ou avant chaque movieClip de sorte que le site ne load pas dès le départ tout les movieClip, mais pluôt loa


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.