ok onofrebachiller

no te preocupes, vamosa hacerlo de una forma un tanto chapucerilla, pero hay que pagar el alquiler y oye, tampoco hace falta que cuando empezamos con un programa hagamos cosas optimizadas, porque si fuera asi, no soltariamos una web hasta 1 año despues, y de eso no se come

vamos a hacerlo de la siguiente manera, te explico paso a paso como si fuera un tutorial, espero, lo mas sencillo posible y empezando de 0, pero de 0 eh? no te me adelantes

1º. abrimos el flash y creamos un nuevo documento.
2º. en propiedades de la pagina, dale de dimensiones 700x525 (es un tamaño proporcional a 800x600, pero mas pequeño)
3º. le damos un color de fondo neutro y coherente con tu pagina, mira a ver algun pastel, por el tema novias
4º. ahora importamos a nuestra biblioteca (arrastrando las imagenes directamente desde el explorador a la biblioteca) las imagenes que queremos que conformen el cuadro
5º. las arrastramos desde la biblioteca al escenario y las colocamos todas en linea, a la misma altura, 'y' en sus propiedades
6º. en la parte superior de la linea de tiempo tedras una lista desplegable que pone 100%, oks, cambia eso por "mostrar todo"
7º. ahora que ves todas las imagenes que tienes en el escenario, seleccionalas todas empleando la tecla shift (mayus)
8º. click derecho sobre la seleccion y en el menu contextual que te sale, elige convertir en simbolo, y luego clip de pelicula. despues de crear el elemento, dale nombre cuando lo tengas seleccionado en el panel de propiedades.
genial, ya tenemos el clip de pelicula con todas las imagenes seguidas, ahora vamos a moverlo en la capa acciones
9º. ahora, a la izda de la linea de tiempo, da doble click sobre donde pone "Capa 1". renobra esa capa como "componentes"
10º. crea una nueva capa clickeando en la misma ventana, en la parte inferior donde aparece una hoja con un simbolo de + en azul y renombrala igual que la anterior llamandola "acciones".
11º. selecciona la capa acciones y abre el panel de acciones, por defecto, sobre el panel de propiedades en la zona inferior
12º. ahora, en la capa acciones vamos a hacer lo siguiente: vamos a hacer un evento que detecte donde esta el raton:
- en la capa acciones (muy importante que estes en la capa acciones), panel de acciones, vamos a escribir lo siguiente:
Código :
nombreDelMCdeFotos.onRollOver = function() {
trace("sobre el MC");
}- si eso funciona, todo va bien, si no funciona, revisa a ver los pasos anteriores.
- ahora vamos a anidar otro evento dentro del evento onRollOver de la siguiente forma:
Código :
cp1.onRollOver = function() {
trace("entro en el MC");
cp1.onMouseMove = function() {
trace(_root._xmouse);
}
}de esta forma, solo tendra en cuenta el mouseMove cuando este sobre el clip de pelicula. espero no haberte perdido con el anidamiento. haz todaslas purebas que necesites

- ahora, lo que vamos a hacer va a ser detectar si el clip deberia moverse hacia la izda o la dcha de la siguiente forma:
Código :
cp1.onRollOver = function() {
trace("entro en el MC");
cp1.onMouseMove = function() {
trace(_root._xmouse);
if (_root._xmouse < Stage.width/2)
trace("como el raton esta antes de la mitad, deberiamos moverlo hacia la izda");
else
trace("como el raton esta despues de la mitad, deberiamos moverlo hacia la dcha");
}
}
- perfecto, ya sabemos cuando hay que moverlo y hacia donde, entonces ahora vamos a cambiar los traces por movimientos reales

Código :
cp1.onRollOver = function() {
trace("entro en el MC");
cp1.onMouseMove = function() {
trace(_root._xmouse);
if (_root._xmouse < Stage.width/2)
{
trace("como el raton esta antes de la mitad, deberiamos moverlo hacia la izda");
cp1._x -= 5;
}
else
{
trace("como el raton esta despues de la mitad, deberiamos moverlo hacia la dcha");
cp1._x += 5;
}
}
}- ok, si has probado este codigo, ahora veras que el MC se mueve a la izda o dcha dependiendo de la posicion del raton, cuando muevas el raton y siempre que hayas pasado por encima del MC, pero todavia hay que solucionar varios problemas: que el MC siempre empiece centrado, que se detenga cuando llegue a un extrermo o a otro, que se mueva mas rapido cuando mas cerca de los extermos laterales este el raton, que no haga nada cuando salgas del MC y que se mueva solo sin mover el raton. los vamos a solucionar los 5 en un solo codigo, porque asi el mensaje no es "mas" kilometrico
luego te explico cada linea para que lo entiendas

Código :
cp1._x = (Stage.width - cp1._width)/2;
var sum:Number = 1;
var onMC:Boolean = false;
cp1.onRollOver = function() {
trace("entro en el MC");
onMC=true;
cp1.onEnterFrame = function() {
trace(_root._xmouse);
if (onMC==true)
{
sum = Math.abs(((Stage.width/2) - _root._xmouse)/20)
if (_root._xmouse < Stage.width/2)
{
//trace("como el raton esta antes de la mitad, deberiamos moverlo hacia la izda");
if (cp1._x+cp1._width > Stage.width)
cp1._x -= sum;
}
else
{
//trace("como el raton esta despues de la mitad, deberiamos moverlo hacia la dcha");
if (cp1._x<0)
cp1._x += sum;
}
}
}
}
cp1.onRollOut = function() {
onMC=false;
}alla vamos
1º problema:
que el movieclip siempre empiece centrado.
en la primera linea de codigo ves esto: cp1._x = (Stage.width - cp1._width)/2;
te explico. si coges la anchura total de la pantalla y le restas la anchura de lo que quieres meter, te dara los margenes laterales sumados, que es la diferencia de sus anchuras... pues si divides eso entre dos, tendras un margen, el del lado izquierdo por ejemplo...pues colocasla x de tu objto sobre ese valor y ya lo tienes centrado en la pantalla

2º problema:
que el movieclip se detenga cuando llegue a un extremo o a otroeso lo hacemos en estas dos lineas de codigo:
if (cp1._x+cp1._width > Stage.width)
si te fijas, lo que hago es decirle que si la posicion x del movieclip mas su anchura es mayor que la anchura total de la pantalla, quiere decir que todavia queda mc a la derecha que mostrar, asi que m lo mueva a la izquierda un poco mas

if (cp1._x<0)
y aqui, ves como digo, si la posicion x de mi MC es menor que 0, todavia queda por mostrar movieclip a la izquierda, asi que lo puedo mover un poco mas a la derecha

3º problema:
que se mueva mas rapido cuanto mas cerca este de los extermoseso lo solucionamos en 4 lineas:
var sum:Number = 1;
sum = Math.abs(((Stage.width/2) - _root._xmouse)/20)
cp1._x -= sum;
cp1._x += sum;
primero, declaro una variable sum, que sera el valor que quiro que inremente, es una variable porque su valor "variara" a lo lago de la ejecucion y debe ser mayor cuanto mas se acerque a los bordes...como lo soluciono? pues muy facil, le resto al valor de la mitad de la pantalla al valor de la x del mouse y luego divido el resultado por 20, porque si no moveria nuestro movieclip demasiado rapido y asi es mas lentito

, pero puedes modificar el 20 o crear una variable que se llame velocidad y en vez de 20 poner ahi la variable y luego cuando quieras hacer cambios, cambias el valor de la variable y ya te va mas rapido o mas lento

todo esto tenia un problema, y es que si el raton estaba en el lado derecho, nos daba un numero negativo, asi que se puede solucionar de dos formas, hacer la formula despues de saber si el raton esta a la izquierda o a la derecha y cambiar el orden de los factores o utilizar la libreria Math incorporada en el flash, con su funcion abs, que convierte un numero en absoluto, sin signo y asi lo tenemos resuelto. biennnnnnn
4º problema:
que no haga nada cuando salgas del MCeso lo solucionamos con poquitas lineas de codigo:
var onMC:Boolean = false;
cp1.onRollOver = function() {
trace("entro en el MC");
onMC=true;
cp1.onEnterFrame = function() {
trace(_root._xmouse);
if (onMC==true)
...
cp1.onRollOut = function() {
onMC=false;
}
aqui lo que he hecho ha sido crear una variable booleana que medice cuando estoy y cuando no sobre el MC. entonces la declaro y la inicializo a false. luego, cuando este por encima, que sea true, y cuando salga, que este de nuevo a false. despues, en la zona de movimiento del MC, que no haga nada si esta en false...y ya esta

5º problema:
que se mueva solo sin mover el ratoneso lo solucione en una linea
cp1.onEnterFrame = function() {
cambiando el evento onMouseMove por el onEnterFrame... oleeeee
entonces y como resumen: si usas el codigo final en una pelicula cuyo movieclip formado por fotos se llame cp1, te funcionara sin problemas, porque este codigo SI que lo he ido probando y testeando linea a linea

, (aplausos del publico) gracias gracias...
en cuanto a tu respuesta: no te preocupes, no te agobies. nos pasa a todos que creemos que sabemos de algo y luego no tenemos ni p.ta idea y siempre habra cosas que no sepamos. lo importante es que no vayamos de sobradillos, porque siempre hay alguien que nos puede ayudar y enseñar; pero no ir de sobradillos, no quiere decir que tengamos que ir con la cabeza baja ni no atrevernos a dar nuestra opinion sobre cualquier tema. espero que esta linea de posts te haya abierto los ojos a ciertas cosas interesantes y utilies del flash como son los prototipos (que de momento no has utilizado, quizas por desconocimiento, quizas por vagueria

), pero que ya sabes que existen. has descubierto la clase Tween, que te vendra de pm en un futuro, ahora sabes que se pueden anidar eventos y encima has conseguido hacer tu web y conseguirte esos cuartos que necesitas para el alquiler, que en barna es una pasta curiosa...
NOTAS DE INTERES: se que quieres meterle un alpha a los elementos que no esten en el centro exacto, pues eso lo falseamos con dos clips con un alpha colocados a los laterales y asi la zona del centro esta visible perfectamente.
tambien se que quieres meter mas cosas, como una banda de informacion y cosas asi...no hay problema, con añadir otro clip con esa banda, colocarlo y moverlo a la vez (mas o menos cantidad en las x, eso como tu veas) que el clip de las imagenes.
un saludo, y por el numero de post que hemos cruzado y el tiempo invertido, es casi un abrazo ya

te agradeceria una mencion en la web si hay un hueco

PD: si algun moderador ve este tutorial y le parece bien, puede ponerlo en la seccion de tutoriales
atentamente
maije