Tengo el siguiente código en un frame de mi animación:
Cita:
Este code mueve una tira de izquierda a derecha según el posicionamiento del mouse (slider). Funciona sin ningún problema, salvo que debe estar presente en varios frames. Si copio la misma fórmula en los frames siguientes el desplazamiento funciona pero se corta y reinicia al pasar entre los frames... La idea es que sin importar en qué frame se encuentre la tira continue su desplazamiento sin cortarse... Tengo que añadir algo al code anterior?...stop();
anchoPelicula = 800;
altoPelicula = 560;
acel = 10;
iniciado = true;
// Operaciones
fondo_mc._width = 747.4;
fondo_mc._height = 68.9;
fondo_mc._x = 11.6;
fondo_mc._y = 434.4;
acel /= 50;
panoramica_mc._x = 45.0;
panoramica_mc._y = 438.1;
mitad = anchoPelicula/2;
ancho = panoramica_mc._width;
// Al pasar el mouse encima
fondo_mc.onRollOver = function() {
iniciado = false;
mover();
};
fondo_mc.onRollOut = function() {
//delete panoramica_mc.onEnterFrame;
};
// Funcion Mover
function mover() {
barraqueanda();
panoramica_mc.onEnterFrame = function() {
//trace("grandao dando role em: "+ _root.panoramica_mc._x);
//anda2();
if (_xmouse != mitad) {
if (_xmouse<mitad && _ymouse>436) {
if (panoramica_mc._x<0) {
inc = Math.abs(_xmouse-mitad)*(acel/10);
//
panoramica_mc._x += inc;
}
} else {
inc = Math.abs(_xmouse-mitad)*(acel/10);
if (panoramica_mc._x>(-580) && _ymouse>436) {
panoramica_mc._x -= inc;
}
}
}
};
}
init();
function init() {
barraqueanda();
this.onEnterFrame = function() {
if (iniciado) {
if (panoramica_mc._x>(-580)) {
panoramica_mc._x -= 0.5;
}
} else {
delete this.onEnterFrame;
}
};
}
anchoPelicula = 800;
altoPelicula = 560;
acel = 10;
iniciado = true;
// Operaciones
fondo_mc._width = 747.4;
fondo_mc._height = 68.9;
fondo_mc._x = 11.6;
fondo_mc._y = 434.4;
acel /= 50;
panoramica_mc._x = 45.0;
panoramica_mc._y = 438.1;
mitad = anchoPelicula/2;
ancho = panoramica_mc._width;
// Al pasar el mouse encima
fondo_mc.onRollOver = function() {
iniciado = false;
mover();
};
fondo_mc.onRollOut = function() {
//delete panoramica_mc.onEnterFrame;
};
// Funcion Mover
function mover() {
barraqueanda();
panoramica_mc.onEnterFrame = function() {
//trace("grandao dando role em: "+ _root.panoramica_mc._x);
//anda2();
if (_xmouse != mitad) {
if (_xmouse<mitad && _ymouse>436) {
if (panoramica_mc._x<0) {
inc = Math.abs(_xmouse-mitad)*(acel/10);
//
panoramica_mc._x += inc;
}
} else {
inc = Math.abs(_xmouse-mitad)*(acel/10);
if (panoramica_mc._x>(-580) && _ymouse>436) {
panoramica_mc._x -= inc;
}
}
}
};
}
init();
function init() {
barraqueanda();
this.onEnterFrame = function() {
if (iniciado) {
if (panoramica_mc._x>(-580)) {
panoramica_mc._x -= 0.5;
}
} else {
delete this.onEnterFrame;
}
};
}
Gracias por vuestra ayuda.
Andrew P.