Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/12/2008, 11:36
Avatar de websmonerris
websmonerris
 
Fecha de Ingreso: junio-2008
Ubicación: La Vila Joiosa
Mensajes: 89
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ralentizar movimiento de Profundidad

Ey naranjito!!! jejeje

He vuelto.... XD...
Primero voy a contestar a lo que has preguntado primero:
Cita:
onRollOver=function(){
this._xscale=ESCALAX;
this._yscale=ESCALAY;
this.swapDepths( 9000 );
}

onRollOut=onReleaseOutside=function(){
Reducir();
Alejar();
}
Este codigo se encuentra en cada movieClip foto, es decir en cada foto o en el movieClip que has utilizado para cargar las fotos. Bien fijate que tenemos onRollOut y onReleaseOutside por si pincha en él pero mueve el raton y suelta fuera, en el evento tenemos estas dos funciones

Reducir()-> esta se encarga de establecer el tamaño sin que este el raton sobre el, esta funcion estará también como lo anterior:
Cita:
function Reducir(){
//Porcentaje a reducir
reduce=this._y / 16.5;
reduce=reduce * 0.05;

//Reduccion
this._xscale=this._xscale*reduce;
this._yscale=this._yscale*reduce;
}
en este caso estamos aprovechando la posición en y del objeto en vez de utilizar este trozo de código directamente puedes saber la escala y darle los valores que quieras sin determinar un porcentaje...

Sobre la funcion Alejar lo mismo que reducir()...

Cita:
function Alejar(){
//Profundidad asociada
this.swapDepths( this._y );
}
En ella como sabes dependemos de su posición en el ejey aunque puedes determinar tu la profundidad que quieras directamente....

En resumen lo que tenemos es dos funciones que se activan cuando el raton no esta sobre este, estas funciones se pueden coger el codigo y meterlo en el mismo evento, pero todo esto en el !!!en el movieclip que se utiliza como foto!!!

Lo segundo que has preguntado:
Lo que podemos es utilizar un if(condicion) antes de asignarle su nueva posicion y, esta condicion puede evaluar cual va a ser la posicion futura del movieClip antes de asignarlo y si se sale de lo que quieras que no haga lo de dentro del if y no asigne nueva posicion y que esta se quede en su sitio....
Por Ejemplo si tenemos lo siguiente en el codigo (mas o menos):

Cita:
this._x += incr_x;
Pues lo cambiamos por:

Cita:
futuraposicion=this._x+incr_x;

if(futuraposicion>(posicion -X lado derecho max) || futuraposicion<(posicion -X lado izquierdo min){
this._x=futuraposicion;
}
Con esto evaluariamos hasta donde se puede mover, como se puede saber hasta donde quieres que llegue pues si tu fla es muy grande puedes utilizar un trace(this._x) para saber mas o menos hasta donde debe llegar (saldra por pantalla la posicion, trace es para depurar si se te olvida quitarlo cuando el fla es publicado no afecta para nada ni sale)... Lo hemos realizado para x pero para y es exactamente igual xDD...


Lo tercero que has preguntado:

Esto es más o menos lo mismo, evaluando la posición del mouse si se encuentra en un area
y sino se encuentra en esa area que se comporte de manera diferente:

Cita:
//este if nos devuelve true si el raton se encuentra en el area deseada
if(_root._xmouse>LADOIZQ && _root._xmouse<LADODER && _root._ymouse>LADOSUP && _root._ymouse<LADOINF){
//hacemos lo que queremos en nuestro caso que el incremento de x e y sea menor
}else{
//hacemos cuando el mouse no esta por encima del area
}
Esta podría ser una opción... Espero que te sirva de ayuda! me alegro que le estes sacando partido!

POSDATA: La web esta del enlace es la que estas realizando en serio?
Si es así la cosa no pinta mal, esta muy bien le faltan lo ultimos retoques!
__________________
Aplicaciones y Desarrollo Web
websmonerris.es
Blog Monerris (Flash, PHP y más)
monerris.wordpress.com