Attach MovieClip 1

Esta vez conoceremos algo acerca del attach Movie. Esta acción es sencilla la idea es sacar un clip de la librería cuando sea necesario. Para ello vamos a usar la acción de vinculación de la librería (nueva en Flash 5). Para ello debemos de darle un nombre identificativo al clip que queremos introducir en nuestra película, para ellos vamos a la librería, damos click derecho al clip y en el panel que nos sale hacemnos click a la opción VINCULACIÓN (LINKAGE en la versión en inglés). Cuando lo hagamos veremos que nos sale un panel como éste:

panel de vinculación de símbolos

Como ves hemos dado click a la opción EXPORTAR ESTE SIMBOLO y le hemos puesto un nombre al clip, en este caso "pum".

Luego de ello ya tenemos el clip listo para llamarlo. Ahora la idea es cómo hacerlo. para eso usamos Action Script, obviamente, y la acción ATTACH MOVIE CLIP, pero la cuestión de esto, para hacerlo interesante, es que cada vez que hagamos click con el botón del mouse el clip llamado aparezca donde hemos hecho click. No es difícil, pensemos: "cuando hagamos click con el botón del mouse el clip aparezca en el lugar conde hemos hecho click". Botón del mouse...un evento de clip como Mouse Down nos sirve, en el lugar donde hemos hecho click... un _root._xmouse e _ymouse nos sirve, ahora combinemos todo ello con la acción de atachar y con una función para hacerlo más funcional el asunto. Me olvidaba... queremos que el clip se quede en el lugar donde hacemos click, es decir vamos a tener varias copias del clip en la pantalla, pero no es necesario usar un bucle para copiado ni nada por el estilo, al usar la acción de atachado nos proveemos de copias cada vez que hagamos click.

Aquí viene el script que tenemos en el único frame de nuestra película:

/* Hacemos una variable que inicie el conteo de los clips a llamar*/
cont=0
/* Creamos la función para atachar los clips*/
function pum(){
/*usamos la acción attachMovie, el primer "pum" indica el nombre del clip que queremos llamar, nombre dado en la librería por la VINCULACIÓN, el segundo "pum"+cont es el nuevo nombre del clip que llamamos, en nuestro caso serán pum0, pumn1, pum2, etc, el tercer elemento: cont, indica el nivel del clip, que corresponderá al numero de copia, 0, 1, 2, 3*/
attachMovie("pum","pum"+cont, cont)
/*Modo que descubrí gracias al master Samuel Wan, creamos una variable que almacene el "pum"+cont, con esto nos ahorramos el escribir:_root["pum"+cont]... más sencillo! :)
clip=eval("pum"+cont)
/*Ahora seteamos la posición del clip llamado dandole los valores X e Y del mouse*/
_root.clip._x=_root._xmouse
_root.clip._y=_root._ymouse
/*El punto final: el contador aumenta, esto hace que se creen las copias ya que se crea un nuevo elemento"
cont++
}
/*fin de la función*/

Ahora hacemos un click que nos coteje que estamos clickeando el boton del mouse y que haga correr la función, ojo, la función se aplica a la linea temporal principal por ello tenemos que poner _root, de no hacerlo el clip creerá que la función se aplica al clip mismo:

onClipEvent(mouseDown){
_root.pum()
}

Testea y verás como una copia del mouse aparece cada vez que hacemos click con el mouse. También tienes una versión del ejemplo sin usar clips que hagan correr la función, usamos ASNATIVE para cotejar el click derecho.

fla con movie clip
fla con ASnative

Manuel Jesús Vejarano::: Derechos Reservados