Con esto, lo que hacemos es que cada vez que se lea un nuevo fotograma (por defecto son 12 fps), se le asignará al objeto un nuevo color al azar. Con esto hemos terminado de editar el Movie Clip. Volvemos a la línea principal de tiempo (_root).
Una vez en la línea principal de tiempo, seleccionamos el primer fotograma (vamos, el único que hay... :P), click derecho del ratón sobre él y nos vamos a acciones, y escribimos:
//Estas lÃneas solo se ejecutarán al cargar la pelÃcula //(onLoad), es decir, una sola vez. _root.onLoad = function (){ /* Nos declaramos 2 variables, i que la usaremos para los nombres de instancia, y borrar, que la usaremos para ir borrando instancias cuando lleguen al número lÃmite de copias que queramos que haya en la pelÃcula */ var i = 1; var borrar = 0; //Con esto lo que hacemos es quitar el puntero del ratón. Mouse.hide(); } //La función dibuja, creará en el escritorio las copias del //objeto que nos acabamos de crear function dibuja (){ //La variable i nos servirá para dar nombres de instancia //únicos a cada copia del objeto, dado que cada copia debe tener //un nombre distinto y la variable i se incrementa en cada pasada. i++; //attachMovie sirve para crear copias de un elemento de la biblioteca, //es decir, que no se encuentra en el escenario, si tuvieramos una //instancia en el escenario, usariamos duplicateMovieClip //en puesto de attachMovie. /* Su estructura es: attachMovie (idNombre, NombreNuevo, Profundidad) donde idNombre es el nombre del clip en la biblioteca. NombreNuevo es el nuevo nombre que le vamos a dar a la instancia cada instancia debe tener nombre propio único. Y la profundidad es el orden de apilamiento en la lÃnea de tiempo, también debe ser unico para cada instancia */ attachMovie("linea","linea"+i,i); /* Con las siguientes 2 lÃneas lo que hacemos es que el objeto ocupe la posición del puntero del ratón, ya que a las coordenadas horizontal (_x) y vertical (_y) del objeto le damos la posición horizontal (_xmouse) y vertical (_ymouse) del ratón */ _root["linea" add Number (i)]._x = _root._xmouse; _root["linea" add Number (i)]._y = _root._ymouse; //Fin de la función. } //Cada vez que se lea un fotograma nuevo, "onEnterFrame" //(12 fps para el caso) _root.onEnterFrame = function(){ //Incrementamos la variable borrar borrar++; /* Si la variable borrar es menor que 100 ejecutamos la función dibuja para crear una nueva instancia en la pelÃcula */ if (Number (borrar) //Esta es la forma de llamar a la función, si tubiera parámetros //irÃan separados por comas dentro del parentesis, para el caso //no hay parámetros. dibuja(); /* Si borrar ya ha superado los 100, es decir, si ya tenemos 100 instancias del clip en el escenario */ } else { // decrementamos la variable en 1. borrar -= 1; //Y borramos la instancia más antÃgua en el escenario, es decir, //i - 100 removeMovieClip ("linea" add Number (i - 100)); //Y volvemos a crear una nueva instancia, de modo que siempre se //mantengan 100 cópias en el escenario dibuja(); } }
Si queremos modificar el número de instancias que se van a crear en la película, en las líneas if (Number (borrar) < 100) { y removeMovieClip ("linea" add Number (i - 100)); cambiamos el 100 por el número de instancias que queramos.
Y con esto hemos terminado.
Si lo deseas, puedes descargarte el archivo del ejemplo aquí.
Un saludo.