2010-11-21 17 views
0
for(i=0;i<itemLength;i++) 
    { 
     duplicateMovieClip("tvmenuitem", "tvmenuitem"+i, i); 

...MovieClips Nettoyage sur changement de scène dans ActionScript 2

Cependant quand je change la scène à l'aide: gotoAndPlay ('main', 1);

La scène principale est recouverte de tous les MovieClips que j'avais dans la scène précédente.

Comment puis-je les nettoyer automagiquement?

Répondre

0

stockent des références aux clips créés lorsque vous les generate:

// store your clip references here 
var clips:Array = []; 

for(i=0;i<itemLength;i++) 
{ 
    // create you duplicated clip and store a reference in your clips array 
    var dupe:MovieClip = duplicateMovieClip("tvmenuitem", "tvmenuitem"+i, i); 
    clips.push(dupe); 
} 

puis utilisez la méthode removeMovieClip pour détruire les clips quand neccessary: ​​

// loop through the clips array and destroy the clips in your array 
for(i=0, l=clips.length; i<l; i++) 
{ 
    clips[i].removeMovieClip(); 
} 

// reset the array 
clips = []; 
+0

est-il un événement sur le changement de scène? – Johnny

+0

pas sûr, n'ont pas utilisé de scènes depuis longtemps. vous pouvez toujours mettre un peu d'AS dans la première image de votre scène pour nettoyer les anciennes références de clips. vous devrez peut-être coller la variable 'clips' dans la portée globale '_root.clips = []' ou quelque chose comme ça. un peu moche, mais le codage dans la chronologie n'est pas censé être joli :) – gthmb

+0

Alors, comment dois-je coder alors? Je suis nouveau au flash. Qu'est-ce que vous utilisez au lieu de scènes? – Johnny