Estoy aciendo un carrusel de imagenes, ese q es una tira de imagenes y si el mouse se acerca a las puntas las imagenes se desplazan y si el mouse esta en el medio las imagenes se van deteniendo.
Pude cargar las imagenes, pude hacer q se muevan por medio del mouse, pero no se me ocurre como hacer para q cuando finalize la tira de imagenes, vuelva a empezar.
Lo q hice es cargar las imagenes 2 veces, o sea, armar 2 tiras de imagenes y las voy moviendo... pero no logro hacer el efecto de tira continua... se q tendria q ir moviendo las diferentes tiras de imagenes dependiendo cual esta a la vista y su posicion... pero no logro desifrar el algoritomo para hacerlo..
Les pongo parte del codigo
Código :
//creo el contenedor de la galeria
var galeria:MovieClip = crearMC("galeria",_root,1);//contenedor de la galeria
//hago el borde de la galeria
crearRectangulo(_root,ALTO_MASCARA+10, ANCHO_MASCARA+10, -5, -5, false);
//creo los contenedores de las imagenes
var cinta1:MovieClip = crearMC("cinta1",galeria,1);//tira1 de imagenes
var cinta2:MovieClip = crearMC("cinta2",galeria,2);//tira2 de imagenes
//creo la mascara
var mascara:MovieClip = crearMC("mascara",_root,2);
crearRectangulo(mascara,ALTO_MASCARA, ANCHO_MASCARA, 0, 0, true);
galeria.setMask(mascara);
//array q informa cuales inameges se cargaron
var cargados:Array = new Array();
//obtengo vector con los nombres de las imagenes
var fotos:Array = nombresFotos();
//array de los movieclip de las imagenes
var mcImagenes:Array = new Array();
//array con los movieclipLoader
var mcLoader:Array = new Array();
//escuchador
var listener:Object = crearEscuchador(cargados);
for (i=0; i<fotos.length; i++) {
//cargo imagen en la tira 1
cargados[i]=false
mcLoader[i] = new MovieClipLoader
mcLoader[i].addListener(listener);
mcImagenes[i] = crearMC("imagen"+(i+1),galeria.cinta1,i)
mcImagenes[i].i = i;
mcLoader[i].loadClip(fotos[i], mcImagenes[i]);
//cargo imagen en la tira 2
cargados[i+fotos.length]=false
mcLoader[i+fotos.length] = new MovieClipLoader
mcLoader[i+fotos.length].addListener(listener);
mcImagenes[i+fotos.length] = crearMC("imagen"+(i+1+fotos.length),galeria.cinta2,i)
mcImagenes[i+fotos.length].i = i+fotos.length;
mcLoader[i+fotos.length].loadClip(fotos[i], mcImagenes[i+fotos.length]);
}
mascara.onEnterFrame=function(){
if(imagenesCargadas(cargados)){
this.onEnterFrame = null
x = cinta1._x+cinta1._width+20
cinta2._x=x
cinta2._y=0
_root.texto.text = "ya se cargaron "+x
//asigno el movimiento de las imagenes
mascara.onRollOver=function(){
medio = ANCHO_MASCARA/2
this.onEnterFrame=function(){
_root.texto.text = cinta2._y+"-"+cinta2._x;
pos = this._xmouse
if(pos > medio){
pos = pos - medio
porcentaje = (pos*100)/medio
vel = (porcentaje*VEL_MAX)/100
cinta1._x+=vel
cinta2._x+=vel
}else{
porcentaje = (pos*100)/medio
vel = (porcentaje*VEL_MAX)/100
vel = VEL_MAX-vel
cinta1._x-=vel
cinta2._x -= vel
}
}
}
mascara.onRollOut=function(){
delete this.onEnterFrame
}
}
}El resto del codigo (funciones y constantes) estan en otra capa, si las necesitan las paso.
Aca esta lo q pude hacer hasta el momento => http://ar.geocities.com/alfathenus/carrusel2.swf
Espero q me puedan dar una mano con esto
saludos!
