begin process at 2012 05 27 22:26:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

la suppression d'un objet entraine t elle la suppression des listeners liés ?


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

la suppression d'un objet entraine t elle la suppression des listeners liés ?

lundi 20 octobre 2008 à 18:38:04 | la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

Bonjour,

je découvre as3 depuis qqs jours,

lorsque je supprime un objet  avec removeChild(getChildByName(instance)) est-ce que les listeners liés à l'instance sont automatiquement supprimés ? (ce qui m'arrangerait énormément)

Merci pour votre aide

lundi 20 octobre 2008 à 18:56:44 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

pegase31

Membre Club Administrateur CodeS-SourceS
Bonsoir

Lorsque tu fais un removeChild(); tu ne fais qu'enlever l'objet de la liste d'affichage, mais tu ne le détruis pas.
Il existe toujours en mémoire mais n'est pas affiché. Ce qui fait qu'effectivement ces listeners sont toujours actifs.

Peg'
lundi 20 octobre 2008 à 20:28:11 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

Merci Peg', réponse claire. Il faut que je procède autrement alors.

Disons que j'utilise un tableau loader2Arr pour stocker les loader que je créé dans une boucle pour afficher des petites images.

loader2Arr[i] = new Loader();
 loader2Arr[i].load(new URLRequest(xmlData.rubrique[nRub].article[nArt].icones.icone[0]));
addChild(loader2Arr[i]);
loader2Arr[i].addEventListener(MouseEvent.CLICK, AfficheDetail);

est-ce que si je lance une boucle de suppression
for (vari=0; i < loader2Arr.length; i++){
   loader2Arr[i] = null;
}

je supprime les éléments affichés ainsi que les listeners ? J'ai pas l'impression en fait...

lundi 20 octobre 2008 à 20:32:05 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

pegase31

Membre Club Administrateur CodeS-SourceS
pourquoi ne crées-tu pas une fonction qui détruit les écouteurs présents dans ton objet, plutôt ?
Le fait de mettre un objet à null ne le détruit pas en mémoire (c'est un gros soucis du garbageCollector, d'ailleurs) ...

Peg'
lundi 20 octobre 2008 à 20:41:56 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

Parce que je ne sais pas faire ;)

je voudrais virer les listener et également supprimer les objets (loader) créés...
lundi 20 octobre 2008 à 21:02:09 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

je viens de découvrir delete
delete load2Arr[i];

mais ça ne supprime pas l'élément affiché, et je suppose que ça ne supprime pas non plus les listener liés à l'objet si ?
lundi 20 octobre 2008 à 21:08:52 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

pegase31

Membre Club Administrateur CodeS-SourceS
tout comme tu as "addEventListener", tu as "removeEventListener" ...
Peg'
lundi 20 octobre 2008 à 22:35:18 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

oui, je pensais qu'on pouvait s'en passer si on supprimait l'objet.

ma difficulté est de pouvoir supprimer les listener sans passer par la fonction lancée par l'eventListener.

j'ai un tableau de tous les loader créés et ajoutés à la scène et c'est à partir de ce tableau que j'aimerais pouvoir les supprimer...
loader2Arr[i] = new loader(...

for (i=0, i<loader2Arr.length; i++){
    loader2Arr[i] = new Loader();
    loader2Arr[i].load(new URLRequest(xmlData.rubrique[nRub].article[nart].icones.icone[0]));
    addChild(loader2Arr[i]);
    loader2Arr[i].addEventListener(MouseEvent.CLICK, AfficheDetail);
}

for (i=0, i<loader2Arr.length; i++){
    if(loader2Arr[i].hasEventListener(MouseEvent.CLICK)){
        loader2Arr[i].removeEventListener(MoueEvent.CLICK, AfficheDetail);
    }
}


Sauf que je viens de m'apercevoir que la longueur de load2Arr est égale à 1 !! alors que j'initie un dizaine de fois loader2Arr[i]=new Loader();

Comment dois-je déclarer load2Arr ? Pour l'instant j'ai fait
load2Arr : Array = new Array();




lundi 20 octobre 2008 à 22:56:16 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

pegase31

Membre Club Administrateur CodeS-SourceS
la création d'objets à la volée est une mauvaise idée en as3 ... ça ne marche plus comme en as1/2
De plus, afficher directement le loader est mauvais .. pourquoi ne fais-tu pas un loader simple qui chargera au fur et à mesure les images ?

à partir de là tu crées des sprites dans lesquels tu colles les images et le tour est joué.

Peg'
lundi 20 octobre 2008 à 23:51:02 | Re : la suppression d'un objet entraine t elle la suppression des listeners liés ?

sanstenarios

C'est sympa de pas me laisser dans le vide ;

en fait as1 ou 2, connais pas, pas developpé en flash avant.

Les icones que je charge sont intégrées à l'instance d'un movie clip désigné par une graphiste dans l'interface flash auteur.

il y  a plusieurs rubriques, chacun comporte son jeu d'icones, et en fonction d'un clic sur le bouton de rubrique, le movie clip s'initialise et s'affiche ou bien s'efface si on reclic sur le meme bouton. Chaque icone mene ensuite vers un movieclip affichant un zoom de l'icone, du texte et une serie d'icone pour accéder à des images alternatives de l'image première.

je récupère ça via un XML généré par spip et je génère les menus à la volée, et plutot que d'avoir 5 instances du movie clip (5 rubriques) j'ai pour l'instant choisi de vider et repeupler le meme movieclip mais finalement avec tes commentaires, je me dis que je ferais mieux de charger autant d'instances du clip que j'ai de rubriques... et que ce soit chargé une fois pour toutes plutot que de charger à chaque fois dans le même.

Tu écris qu'afficher directement le loader est mauvais, mais si je le charge dans un movie clip c'est correct non ?

<boucle>
loader = new Loader();
loader.load(new URLRequest(xmlData.rubrique[nRub].article[nart].icones.icone[0]));
loader.x = coordX;
loader.y = -(80 +(40*(nart)));
bandeauRub_vertical_mc.addChild(loader);
bandeauRub_vertical_mc.loader.addEventListener(MouseEvent.CLICK, AfficheDetail)
</boucle>








1 2

Cette discussion est classée dans : objet, suppression, liés, entraine, listeners


Répondre à ce message

Sujets en rapport avec ce message

objet Session comme en ASP Session.LCID [ par MrBoubou ] Salut à tous.Comment peut-on obtenir le même résultat que pour une Session.LCID en ASP qui permet de garder des infos sur la région (langue du naviga Associer du son aux actions (click, hitTest...) [ par joe666 ] Salut à tous les pros de ce site !Je vs ai déjà ecrit il y a qq jours car je realise un petit jeu flash et au fur et à mesure que j'avance j'ai plein un effect élastique [ par hypnotik ] voilà, je cherche un scrip pour flash mx bien particulier:ce serai pour faire un objet qui pend au bout d'un élastique, l'objet tomberai , se balancer Transparence d'objet Flash sous Netscape [ par mickski ] Bonjour à tous, J'aimerai savoir comment faire pour rendre une anim flash transparente sous Netscape < v7.0. J'ai un flash qui est bien transparent s melangeur de couleurs [ par YarbY ] Salutj'ai un p'tit souci avec le melangeur de couleur qui est légèrement ENERVANT!!!!!!!!!!!!! d'autant plus que je ne rencontrais pas ce pb avant !! Utiliser une variable en nom d'objet [ par zgeblez ] Bonjour a tous, Voici mon probleme.J'ai plusieurs objets :objet1objet2objet3J'ai plusieurs boutons :bouton1bouton2bouton3En cliquant sur le bouton 1, image sur plusieurs plan [ par galyas ] Salut!!voila, j'aimerai pouvoir insérer un objet animé sur une image jpeg (en fond). Là où ca se complique c'est que j'aimerai que cet objet soit parf comment voir la structure des objets [ par knz ] Bonjour j'aimerais simplement voulu savoir où faut il clicker pour connaitre la structure des données d'un objet (par exemple connaitre toutes les mét Création d'objet de formulaire à la volée [ par joebarteam88 ] Salut,je suis en train de mettre en place une appli flash communicant avec java (via XML). Suivant ce que me retourne Java , je genere dynamiquement d Flash - Les objets et leur accés. [ par Aki75 ] L'objet TextField supporte des liens HTML, cependant je n'ai pas trouvé le moyen d'effectuer la même fonctionnalité que les ancres pour cette objet, e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,296 sec (3)

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