begin process at 2010 03 18 11:16:43
  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


Appels d'offres

Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,796 sec (3)

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