Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/01/2009, 10:33
Avatar de ceaped
ceaped
 
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Pasar programación de un mc a un fotograma

Este es el código que deseo poner en la línea de tiempo:
Cita:
onClipEvent (load)
{
n_fotos=6; // numero de elementos de la tira
esp=10; //espaciado en pixels entre clips.
desp=foto1._width+esp; //desplazamiento por clic
moviendo=false; // estado que indica si la tira esta en movimiento o no
dir=0; //valor de la direccion del movimiento, 0 izquierda, 1 derecha

//Calculamos los topes de la tira.
tope_izq=foto3._x;
tope_der=foto1._x;
tope=foto1._x;


/ ************************************************** ******************************
*******/
/* FUNCION QUE CONTROLA LOS BOTONES */
/ ************************************************** ******************************
*******/
function botones()
{
if (foto1._x>=tope_der)
{
//apagamos boton derecho cuando la foto 1 ha superado o igualado en el eje x el tope derecho de la tira
_parent.boton_der._visible=0;
}
else
{
// si no esta la foto1 en el tope derecho, activamos el boton derecho de la tira
_parent.boton_der._visible=1;
}
if (eval("foto"+n_fotos)._x<=tope_izq)
{
//apagamos boton izquierdo cuando la foto final esta igual o mas a la izquierda que el tope izquierdo
_parent.boton_izq._visible=0;
}
else
{
// si no esta mas a la izquierda que el tope izquierdo lo habilitamos
_parent.boton_izq._visible=1;
}
}


/ ************************************************** ******************************
*******/
/* FUNCION QUE MUVE LA TIRA */
/ ************************************************** ******************************
*******/
function mover(direccion)
{
// se le pasa la direccion en la que se quiere mover, a esta funcion se le llama desde el
// evento de clic de los dos botones de la tira: 0 es izquierda y 1 es derecha
if (!moviendo)
{
if (!direccion)
{
// EStamos en el caso de que la tira no se estaba moviendo
// y se ha pulsado el boton de la izquierda
if (eval("foto"+n_fotos)._x>tope_izq)
{
// Si _x de la foto del extremo derecho de la tira es mayor que el tope izquierdo
tope=foto1._x-desp;
moviendo=true;
dir=0;
}
}
else
{
// Estamos en el caso de que la tira no se estaba moviendo
// y se ha pulsado el boton derecho
if (foto1._x<tope_der)
{
// Si la _X de la foto del extremo izquierdo de la tira es menor que el tope derecho
tope=eval("foto"+n_fotos)._x+desp;
moviendo=true;
dir=1;
}
}
}
}
}

onClipEvent (enterFrame)
{
// Este evento hace lo siguiente:
// Cada frame analiza si los botones deben estar activos o desactivados en funcion
// de la posicion de la tira y ademas, en el caso de que algun boton se haya pulsado
// (moviendo==true) analiza la direccion del movimiento y ejecuta el script que
// desplaza todos los elementos de la tira hacia ese lado (parte del FOR).
if (moviendo)
{
botones();
switch (dir)
{
case 0:
vel=Math.abs(tope-foto1._x)/5;
for (i=1; i<=n_fotos; i++)
{
eval("foto"+i)._x-=vel;
}
if (foto1._x<=tope+0.3)
{
eval("foto"+1)._x=tope;
for (i=2; i<=n_fotos; i++)
{
eval("foto"+i)._x=eval("foto"+(i-1))._x+desp;
}
moviendo=false;
tope=0;
dir=0;
}
break;

case 1:
vel=Math.abs(tope-eval("foto"+n_fotos)._x)/5;
for (i=n_fotos; i>=1; i--)
{
eval("foto"+i)._x+=vel;
}
if (eval("foto"+n_fotos)._x>=tope-0.3)
{
eval("foto"+n_fotos)._x=tope;
for (i=(n_fotos-1); i>=1; i--)
{
eval("foto"+i)._x=eval("foto"+(i+1))._x-desp;
}
moviendo=false;
tope=0;
dir=1;
}
break;
} // cierre del switch
}
else
{
botones();
}
}
Si alguien amablemente me puede ayudar.
Gracias
__________________
Diseñador Gráfico publicitario