Mucho exito.
Pablo.
Creen dos botones en una capa, los cuales se van a llamar: der_btn y izq_btn
En otra capa,
Creen un movie Clip donde van a contener las imagenes, texto o lo que quieran poner, este se va a llamar contenedor_2
y en otra capa
Creen una mascara para el movie clip, haganla del tamaño que quieran pero que cubra el movie clip y dejen espacio para los botones. esimportante que la capa de los botones no tenga mascara. La mascara se va a llamar msk
Si alguien me informa como subir el fla al foro, con gusto se lo paso.
/*
NOTAS NOTAS NOTAS NOTAS NOTAS:
Al final de cada "}" he puesto unos comentarios, estos son para que se distinga mejor
a que grupo pertenece cada corchete "}", asi te será más facil jugar con el código.
El código no es perfecto tiene un lijero defecto y esque entre mas grande
hagas el MOVIE CLIP CONTENEDOR, vas a tener que incrementar el numero que se encuentra
al final de la variable diferencia que esta en la LINEA de este código.
Nose a que se deba esto, pero si lo averiguas y perfecciones esto, porfavor, compartelo con todos nosotros.
Te suguiero que leas el apartado de nomenclatura (lineas mas abajo) así podras entender mejor
como y por que he llamado a cada instancia.
Espero que te sea útil y facil de entender.
Mucho exito.
*/
Código ActionScript :
/* NOMENCLATURA: Cambio de sección ------ Inicia sub sección ¡¡¡¡ !!!!! Termina sub sección <<<< >>>>> btn= boton ftn=Función txt=textos */ //------Variables------ var inicio:Number=contenedor_2.x; var numero_desplazamientos:Number=12;//Cantidad de desplazamientos. var v:Number=0;//Controla la distacia de desplazamiento (está se encuentra relacionada con la variable numero_desplazamientos.) Procura que siempre sea 0 para que inicie en el principio. var extra:Number=22.5;//Es el espacio extra que deseas que se desplaze var retraso:Number=200;//Es la velocidad de la animación (mas rapido es menor el numero) var diferencia:Number=((((msk.width)/(contenedor_2.width))*370));//El tamaño de la mascara entre el tamaño del movie clip, que contiene a los elementos que vas a desplazar. var factor_desplazamiento:Number=((contenedor_2.width)/(extra));//Tamaño del movie clip contenedor entre los espacio extra que quieres que se desplaze hacia la izquierda. var limite:Number=((factor_desplazamiento)+(diferencia));//Junta las dos variables y es el resultado final de los calculos efectuados por lo que se recomienda ponerla hasta el final de todas las variables. var factor_desplazamiento_izq:Number=((contenedor_2.width)/(extra));//Tamaño del movie clip contenedor entre los espacio extra que quieres que se desplaze hacia la derecha. /*Las variables diferencia, factor_desplazamiento y limite son las que determinan cuanto se va a desplazar el movie clip, que contiene a los elementos que vas a desplazar.*/ //Empieza el codigo //-----Declaración de Funciones------ der_btn.addEventListener(MouseEvent.MOUSE_OVER,der_ftn);//Función del boton para desplazar hacia las izq. izq_btn.addEventListener(MouseEvent.MOUSE_OVER,izq_ftn); //------Codigo------ //----------Desplazamiento ------------ //¡¡¡¡¡¡¡¡¡¡¡ Para la izquierda (izq) !!!!!!!!!!!! if (v<limite) { function der_ftn(e:MouseEvent) { var repeticion:Number=setInterval(contar,retraso);//Esta variable nos permite repetir la funcion del boton que contrla el desplazamiento. function contar() {//Lo que este dentro de esta función se va a repetir. if (v<limite) { contenedor_2.x-=v;// desplazamiento a la izq por el signo que se usa. v+=numero_desplazamientos;//signo contrario al movie clip contenedor.x+=v }//if (v<limite) FIN------ }//Función contar FIN------ der_btn.addEventListener(MouseEvent.MOUSE_OUT,der_out_ftn);//Esta función debe de estar aqui por que se encuentra dentro de una función repetitiva por lo que al ser un evento contrario, a la función principal, es la que va a romper el loop. function der_out_ftn(e:MouseEvent) { clearInterval(repeticion);//Impide que la función se repita por siempre. }//Función der_out_ftn FIN------ }//Funcion der_ftn FIN.--------- }//if (v<limite) FIN------- //¡¡¡¡¡¡¡¡¡¡¡ Para la derecha (der) !!!!!!!!!!!! if (contenedor_2.x<inicio) { function izq_ftn(e:MouseEvent) { var repeticion:Number=setInterval(contar,retraso);//Esta variable nos permite repetir la funcion del boton que contrla el desplazamiento. function contar() {//Lo que este dentro de esta función se va a repetir. if (contenedor_2.x<inicio) { contenedor_2.x+=v;// desplazamiento a la izq por el signo que se usa. v-=numero_desplazamientos;//signo contrario al movie clip contenedor.x+=v. izq_btn.addEventListener(MouseEvent.MOUSE_OUT,izq_out_ftn);//Esta función debe de estar aqui por que se encuentra dentro de una función repetitiva por lo que al ser un evento contrario, a la función principal, es la que va a romper el loop. if (contenedor_2.x>inicio) { contenedor_2.x=inicio; clearInterval(repeticion); v=0; }//if (contenedor_2.x>inicio) function izq_out_ftn(e:MouseEvent) { clearInterval(repeticion);//Impide que la función se repita por siempre. if (contenedor_2.x>inicio) { contenedor_2.x=inicio; v=0; }//Función izq_out_ftn(e:MouseEvent) }//Función izq_out FIN-------- }//if (contenedor_2.x<inicio) FIN--------- }//Función contar FIN------- }//Función izq_ftn FIN.----------- }//if (contenedor_2.x<inicio) FIN-------- // FIN DEL CODIGO----------
[BOFH]Cuando escribas código en AS, enciérralo entre las etiquetas [*as] y [*/as] (sin los asteriscos) para que sea más legible - The Fricky![/BOFH]