Comunidad de diseño web y desarrollo en internet online

Menú con efecto de easing para novatos

Citar            
MensajeEscrito el 24 Nov 2009 12:26 pm
Hola!!!

Este es mi primer post en este foro así que deciros que estoy encantada de poder estar aqui con vosotros.

Mi problema es que estoy realizando el tutorial que señalo en el asunto "Menú con efecto de easing para novatos". No se hasta que punto debo ser novata pero no me funciona.

Dejo el código:

FRAME 1:

Código ActionScript :

//Declaramos variables
// Variable para saber la posición _x del mouse
var xposMouse:Number = _root._xmouse;
// Variable para asignar la velocidad máxima del movimiento de los MC
var velMax:Number = 6;
// Velocidad mínima de los MC
var velMin:Number = 0;
// Variable para asignar el punto medio de la escena
var xMitadEscena:Number = 450;
// La siguiente var, sirve para determinar cuando el mc está al
//límite _x de la pantalla, en este caso es de 600 pixels
var anchoEscena:Number = 900;
// A esta le asignaremos el ancho del mc, para saber cuando a desaparecido del
// todo de la escena y establecer las separaciones entre mcs
var anchoMC:Number = 180;
//variable factor, que en realidad es la función matemática
// f(x) = ax + b
var factor:Number = xposMouse*(velMax-velMin)/xMitadEscena+2*velMin-velMax;
//No queremos que factor pase de 6, o de  -6
if (factor>velMax) {
   factor = velMax;
} else if (factor<-velMax) {
   factor = -velMax;
}
//Si el mc se ha salido por la derecha, ponerlo
//en la izquierda o viceversa.

if (argelaga_mc._x>anchoEscena) {
   this.argelaga_mc._x = -anchoMC;
}
if (argelaga_mc._x<-anchoMC) {
   this.argelaga_mc._x = anchoEscena;
}

if (biblioteca_mc._x>anchoEscena) {
   this.biblioteca_mc._x = -anchoMC;
}
if (biblioteca_mc._x<-anchoMC) {
   this.biblioteca_mc._x = anchoEscena;
}
//verde
if (bombers_mc._x>anchoEscena) {
   this.bombers_mc._x = -anchoMC;
}
if (bombers_mc._x<-anchoMC) {
   this.bombers_mc._x = anchoEscena;
}

if (hormipresa_mc._x>anchoEscena) {
   this.hormipresa_mc._x = -anchoMC;
}
if (hormipresa_mc._x<-anchoMC) {
   this.hormipresa_mc._x = anchoEscena;
}

if (navarrete_mc._x>anchoEscena) {
   this.navarrete_mc._x = -anchoMC;
}
if (navarrete_mc._x<-anchoMC) {
   this.navarrete_mc._x = anchoEscena;
}

if (rodelas_mc._x>anchoEscena) {
   this.rodelas_mc._x = -anchoMC;
}
if (rodelas_mc._x<-anchoMC) {
   this.rodelas_mc._x = anchoEscena;
}

if (viladecans_mc._x>anchoEscena) {
   this.viladecans_mc._x = -anchoMC;
}
if (viladecans_mc._x<-anchoMC) {
   this.viladecans_mc._x = anchoEscena;
}

play();


FRAME 2:

Código ActionScript :

//Si la posición del mouse está más alla de la mitad derecha +30 pixels,
//mover hacia la izquierda (a la velocidad del factor)
if (xposMouse>(xMitadEscena)+30) {
   this.argelaga_mc._x -= factor;
   this.biblioteca_mc._x -= factor;
   this.bombers_mc._x -= factor;
   this.hormipresa_mc._x -= factor;
   this.navarrete_mc._x -= factor;
   this.rodelas_mc._x -= factor;
   this.viladecans_mc._x -= factor;
}
//Si lo está a menos de 30 pixels de la mitad izquierda,   
//mover a la derecha (a la velocidad del factor)
if (xposMouse<(xMitadEscena)-30) {
   this.argelaga_mc._x -= factor;
   this.biblioteca_mc._x -= factor;
   this.bombers_mc._x -= factor;
   this.hormipresa_mc._x -= factor;
   this.navarrete_mc._x -= factor;
   this.rodelas_mc._x -= factor;
   this.viladecans_mc._x -= factor;
}
/*
Debido a que el número factor es incremental, se debe
proceder a una corrección de la posición de los mc, de
forma que la posiciones de los mc dependan unas de otras
*/ 

if (this.viladecans_mc._x<anchoEscena-anchoMC) {
   this.argelaga_mc._x = this.viladecans_mc._x+anchoMC;
}

if (this.argelaga_mc._x<anchoEscena-anchoMC) {
   this.biblioteca_mc._x = this.argelaga_mc._x+anchoMC;
}

if (this.biblioteca_mc._x<anchoEscena-anchoMC) {
   this.bombers_mc._x = this.biblioteca_mc._x+anchoMC;
}
if (this.bombers_mc._x<anchoEscena-anchoMC) {
   this.hormipresa_mc._x = this.bombers_mc._x+anchoMC;
}

if (this.hormipresa_mc._x<anchoEscena-anchoMC) {
   this.navarrete_mc._x = this.hormipresa_mc._x+anchoMC;
}

if (this.navarrete_mc._x<anchoEscena-anchoMC) {
   this.rodelas_mc._x = this.navarrete_mc._x+anchoMC;
}

if (this.rodelas_mc._x<anchoEscena-anchoMC) {
   this.viladecans_mc._x = this.rodelas_mc._x+anchoMC;
}


He probado muchas cosas, he cambiado los nombres de los clips de película, he escrito el código manualmente, y también he sobreescrito el original cambiando los nombres de los clips de película y los valores de tamaño de imagen, posicion...

La verdad no tengo ni idea de que es lo que hago mal... alguien puede ayudarme????

Por Asleepbook

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Nov 2009 09:05 pm
Nadie puede ayudarme????

No se que es lo que le sucede ya no se que más hacer!!!!!!

Por Asleepbook

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Nov 2009 01:51 pm
Ya he podido solucionarlo. Un saludo!

Por Asleepbook

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Nov 2009 03:19 pm
hola, he llegado un poco tarde, pero, ya que lo has solucionado, ¿podrías decirme dónde estaba tu error? y así de paso, les puede servir a otros. Gracias y perdona mi tardanza, es que últimamente estoy a tope de trabajo y sin internet en casa!

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox
Citar            
MensajeEscrito el 26 Nov 2009 05:09 pm
Sisco muchas gracias jejejeje, claro que puedo poner el problema!!! No lo puse antes porque tenia prisa y quería dejar nota para que nadie se matase buscando un error que no existe en el código :S

La verdad ha sido un total despiste de novata, cuando me he dado cuenta me he sentido bastante absurda. Pero luego me he encontrado el problema de que las imagenes no pasaban bien, hacían un efecto extraño de como de montarse unas encima de otras. El resultado a sido que he añadido el espaicio equivalente a una imagen más.

es decir si mis imagenes miden 180 en el ancho escena he puesto 900 + 180. No se por que motivo es pero ahora se ve perfecto.

Así que si alguien sabe porque pasa esto que me lo explique jejejejeje.

Gracias!!!!

Por Asleepbook

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.