Normalmente, en lugar de duplicar un MovieClip, lo que se hace es crear una nueva instancia de la Clase. Así, si tu anterior MovieClip era un Objeto de la clase "MiMovieClip" simplemente puedes hacer un
Código :
newClip:MiMovieClip=new MiMovieClip()
addChild(newClip)
el "método duplicateMovieClip" trata de resolver el problema de si queremos que, cuando creamos "newClip", coga también las propiedades y transformaciones aplicadas al MC Original. Sí algo parecido a cuando en AS2 escribíamos
Código :
//AS.2
//el "tercer argumento"
original.duplicateMovieClip("copia",1,original)
}
Vale, el método precisa un DisplayObject y devuelve un DisplayObject. Como MovieClip deriva de la clase DisplayObject, NO SÉ SI SE PUEDE hacer una "conversión de cast" y escribir
Código :
var clip2:MovieClip= MovieClip(duplicateMovieClip(DisplayObject(newtile)));
Observa que hay dos conversiones de cast, una cuando le pasamos el argumento y otra cuando lo igualamos a la variable
Si no se puede, sí nos podemos crear unafunción duplicateMovieClip que reciba un MovieClip y devuelva un MovieClip. Vamos, que tendríamos dos funciones duplicateDisplayObject y duplicateMovieClip exactamente iguales salvo en el tipo de variable del argumento y el tipo que devuelve
¡OJO! no hay que confundir una "conversión de cast" con un método de crear un nuevo Objeto.