je repond à ton mail ici, ca peut servir a d'autres
>Salut!
Tchô!
>Je suis incognito13 du forum.hardware
moi c'est Mechkurt
>Tu m'as pas conseillé de ne pas recréer la classe MovieClipLoader a
>chaque appui de bouton mais je t'avoue que cette notion de classe
>n'est pas très claire dans mon esprit.
>J'ai trouvé ce script dans l'aide et je l'ai adapté a ma sauce
>jusqu'à ce que ca marche.
>Donc en fait si je comprend bien, c'est que je crée pusieurs fois la
>meme classe pour rien ?
>Pourrais-tu me montrer ce que tu aurais fais, si ca te dérange pas
>bien sûr.
>
>Voila le script :
>--------------------------------------------------------------
>
>function boutons(acharger) {
> nextlevel += 1;
> _root.level2delete = nextlevel-1;
> var image:MovieClip =
>this.createEmptyMovieClip("image"+nextlevel, nextlevel);
> var mcLoader:MovieClipLoader = new MovieClipLoader();
> var listener:Object = new Object();
> listener.onLoadProgress = function(target:MovieClip,
>bytesLoaded:Number, bytesTotal:Number):Void {
> progression = (bytesLoaded/bytesTotal)*100;
> loading = Math.round(progression)+" %";
> barreloadover._height = Math.round(progression)*2;
> if (bytesLoaded == bytesTotal) {
> clearInterval(interval.id);
> }
> };
> mcLoader.addListener(listener);
> mcLoader.loadClip(acharger, image);
> var interval:Object = new Object();
> interval.id = setInterval(checkProgress, 3, mcLoader, image,
>interval);
> function checkProgress(mcLoader:MovieClipLoader,
>image:MovieClip, interval:Object):Void {
> var progress:Object = mcLoader.getProgress(image);
>
> }
>}
>--------------------------------------------------------------
a priori une fois déclaré ta class MovieClipLoader, comme tu lui passe en parametre ce que tu veux charger ta pas besoin de la mettre dans ta fonction bouton, car la a chaque fois que tu clic sur un bouton ca appelle la fonction bouton qui crée une nouvelle classe MovieclipLoader (ceci dit comme il la crée avec le même nom ca devrait ecraser l'ancienne donc je ne pense pas que to PB d'occupation mémoire viennent de la...)
je sais pas si je suis clair mais en gros: si tu mets le bloc de declaration de ta classe MovieclipLoader (tout sauf mcLoader.loadClip(acharger, image); qui bien sur doit rester dans la fonction bouton) au dessus du bloc fonction bouton ca devrait marcher aussi bien...
pour ton PB de memoire je vois deux possibilité:
=>soit il ne supprime pas les pages (j'ai pas compris comment est appellé ta function:
Code :
- function supprimer_clip(id) {
- if (_level0.nextlevel>2 && id != 0) {
- removeMovieClip("container"+id);
- }
- }
|
mais deja ton occurence crée s'appelle ("image"+id); alors je suis pas sur que ca fonctionne pour verifier fait un:
Code :
- function supprimer_clip(id) {
- if (_level0.nextlevel>2 && id != 0) {
- if("image"+id) {
- removeMovieClip("image"+id);
- if("image"+id) {
- trace("image"+id+" existe encore!" );
- }else {
- trace("image"+id+" supprimé!" );
- }
- }
- }
- }
|
=>deuxiemem possibilité, c'est les setInterval du checkProgress que tu ne supprime pas et qui te bouffe des ressources (la ca devrait ramer et non pas prendre plus de memoire mais va savoir...)
vu que tu te coltine une class MovieClipLoader utilise la a fond et passe plutot par le gestionnaire onLoadProgress dédié a ca (et qui marche tres bien)
http://livedocs.macromedia.com/fla [...] 02546.html
si tu tiens vraiment a tes setInterval veille bien a faire des clearInterval quand tu en as plus besoin (et a faire un delete en plus ca ne mange pas de pain )
>Je t'ai aussi mit la source la :
//ligne supprimé je suppose que t'as pas plus que ca que googlebot scan ton repertoire de stockage
au fait c'était source.rar et pas source.fla mais j'ai trouvé quand même...
>Jte remercie d'avance !
de rien
>Florian, étudiant en Services et Réseaux de Comm. à Saint-Raphaël
>(Var).
Matthieu bénévole sur hardware.fr
---------------
D3