Toma este por si te vale o te sirve de guía......
La carga es con attache( vinculación) de biblioteca aunque se puede modificar muy facil para loadMovie()
Puedes ver como funciona en:
http://www.telecable.es/personales/terepardo1/SWFs/scrollvertical%20000.swf
y otros parecidos o de experimentación en :
http://www.telecable.es/personales/terepardo1/SWFs/scroll%20horizontal.swf
http://www.telecable.es/personales/terepardo1/SWFs/scroll%20horizontal%20continuo.swf
Código :
/* SCROLL VERTICAL CONTINUO Flash MX by TESEO
No es necesario redimensionar las imagenes, se autoajustan.
Montar cada imagen en un MC para attach y vincularlos con nombres
MC1 , MC2 , MC3 ......etc.
Definir las variables de inicio según necesidad.
*/
if (!iniciado){
Nmcs = 6 ; // numero de MC´s para scrolling (>1)
espacio = 5; // espacio en pixels que se deja entre las fotos
Xc = 200; //cordenada x Superior Izquierda de la caja del scroll
Yc =20; //cordenada y Superior Izquierda de la caja del scroll
alturamaxima = 600; // altura máxima del scroll
anchuramaxima = 80; // para reescalar si alguna foto es mas ancha
velo = 2; // velocidad base del scroll positiva o negativa
createEmptyMovieClip ("imgMC",0);
imgMC._x = Xc;
actual = imgMC._y = Yc;
anchomas = 0;
altomas = 0;
Nmcs *= 2;
velobase = velo;
for (k = 1 ; k <= Nmcs ;k++) {
imgMC.attachMovie("MC"+(1+(k-1)%(Nmcs/2)) , "MC"+k , k);
mc0 = eval("imgMC"+".MC"+k) ;
mc0. _y = actual +espacio;
if (mc0._width > anchuramaxima ){
mc0._xscale = anchuramaxima*100 / mc0._width ;
mc0._yscale = mc0._xscale;
}
mc0._width > anchomas ? anchomas = mc0._width : null;
mc0._height > altomas ? altomas = mc0._height : null;
actual = mc0._y + mc0._height;
}
alto = (actual - Yc) / 2 + altomas;
alto > alturamaxima ? altura = alturamaxima : altura = alto;
imgMC.createEmptyMovieClip ("mascara", 2000);
with (imgMC.mascara){
beginFill (0x0000FF, 50);
moveTo (0 , altomas);
lineTo ( anchomas, altomas);
lineTo ( anchomas, altura);
lineTo (0, altura);
lineTo (0, altomas);
endFill();
}
imgMC.setMask(imgMC.mascara);
imgMC._y = Yc - altomas;
iniciado = true;
}
this.onEnterFrame = function() {
for (k = 1 ; k <= Nmcs ; k++) {
mc0 = eval("imgMC" + ".MC"+k);
mc1 = eval("imgMC" + ".MC"+((k % (Nmcs)) +1));
mc2 = eval("imgMC" + ".MC"+ ((k -1) % Nmcs + Nmcs *( k == 1)));
if((mc0._y) >= altura && velo > 0){
mc0._y = mc1._y - mc0._height - espacio - velo*(k == Nmcs);
}
mc0._y += velo;
if(mc2._y + mc2._height <= altura && velo < 0){
mc0._y = mc2._y + mc2._height + espacio + velo * (k ==1);
}
}
}
/* Las siguientes funciones son para controlar el scroll con el ratón.
Entrar en el scroll con el ratón = Parar
Salir del scroll con el ratón = Vuelve a la velocidad de inicio
Click en el scroll = Varía velocidad y dirección dependiendo de su posición.
*/
imgMC.mascara.onPress = function () {
velo = (Yc + imgMC.mascara._height / 2 - _ymouse) / 20;
}
imgMC.mascara.onRollOut = function () {velo = velobase;}
imgMC.mascara.onRollOver = function () { velo = 0;}