begin process at 2012 02 10 12:17:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Unload Loader et content


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

Unload Loader et content

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ée 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 Faire Disparaitre tout les clips du clip parent [ par emmanuel9 ] Bonjour, J'ai une décor sur lequel je dois faire apparaitre et disparaitre diffèrent Clip. Il y a t'il une méthode qui permette de faire disparaitr 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 Error #2025: The supplied DisplayObject must be a child of the caller -> HELP [ par facetus ] Bonjour, Je suis novice et j'essaie depuis une semaine de résoudre une erreur de type: Error #2025: The supplied DisplayObject must be a child of the


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,388 sec (3)

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