Foros del Web » Creando para Internet » Flash y Actionscript »

borrar peliculas

Estas en el tema de borrar peliculas en el foro de Flash y Actionscript en Foros del Web. Hola tengo un problema cuando voy duplicando mc que se repiten; tengo un for() que duplica un movieClip el numero de veces de una variable ...
  #1 (permalink)  
Antiguo 01/05/2006, 21:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 18 años, 9 meses
Puntos: 0
borrar peliculas

Hola tengo un problema cuando voy duplicando mc que se repiten; tengo un for() que duplica un movieClip el numero de veces de una variable llamada largo
cuando largo llega a ser 20 por exemplo los mc se duplican 20 veces, y cuando a largo le toca tener un valor mayor, como 30, se duplican a 30 veces.
pero mi problema es que cuando estan ya los 30 mc duplicados , si la variable largo es menor, por ejemplo si fuese 10, los mc que sobran(de los antes 30) no se borran

¿como puedo borrar esos mc que me quedan sobrando?

alguna idea al respecto ... ?
Saludos
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
  #2 (permalink)  
Antiguo 01/05/2006, 22:07
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
El problema es que no se están creando cada vez que ocurre tu loop. Sino que probablemente los nuevos MC están ocupando el espacio de los que habías creado antes.

No estoy seguro que sea la mejor alternativa, pero por que no intentas mantener una variable con el ultimo valor de "largo", para que luego hagas algo como esto... (asumiendo que el "level" al que los colocas sea el mismo numero de tu loop)

Código:
function llenaMCs() {
    if(largo>0) {
        for(i=0;i<=largo;i++) {
            miMCbase.attachMovie("miClip","clip" + i,i);
        }
    }
    if(oldlargo>largo) {
        for(i=largo+1;i<=oldlargo;i++) {
            sobrante = miMCbase.getInstanceAtDepth(i);
            sobrante.removeMovieClip();
        }
    }
    oldlargo = largo; 
}
Tal vez no sea la forma más eficiente de hacerlo (seguramente no, porque ando medio oxidado en Actionscript ) y tal vez el ejemplo requiera algunas correcciones antes de funcionar, pero al menos te servirá como un punto de partida.

Saludos!
__________________
Manoloweb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:41.