Comunidad de diseño web y desarrollo en internet online

easing vertical, tengo dos neuronas infartadas

Citar            
MensajeEscrito el 21 Sep 2004 03:38 am
[b]Estimados amigos:
Cogi el tutorial de easing para novatos, que esta publicado aqui:
http://www.cristalab.com/vertutorial.php?id=57

y tratando de hacerme el experto quise hacerlo pero vertical, asi que muy genio yo, cambie variables y medio que funciono, pero luego empezo a dar de saltitos cuando el mouse lo llevo hacia arriba,
DAtos: la peli es de 450 de alto y 700 de ancho
y los MC´s de 30 de alto por 150 de ancho

ahi va el codigo del primer y segundo frame[/b]

PRIMER FRAME

var yposMouse:Number = _root._ymouse;
var velMax:Number = 4;
var velMin:Number = 0;
var yMitadEscena:Number = 200;
var altoEscena:Number = 400;
var altoMC:Number = 30;
var factor:Number = yposMouse*(velMax-velMin)/yMitadEscena+2*velMin-velMax;
if (factor>velMax) {
factor = velMax;
} else if (factor<-velMax) {
factor = -velMax;
}
//para el 1
if (uno_mc._y>altoEscena) {
this.uno_mc._y = -altoMC;
}
if (uno_mc._y<-altoMC) {
this.uno_mc._y = altoEscena;
}
//para el 2
if (dos_mc._y>altoEscena) {
this.dos_mc._y = -altoMC;
}
if (dos_mc._y<-altoMC) {
this.dos_mc._y = altoEscena;
}
//3
if (tres_mc._y>altoEscena) {
this.tres_mc._y = -altoMC;
}
if (tres_mc._y<-altoMC) {
this.tres_mc._y = altoEscena;
}
//4
if (cuatro_mc._y>altoEscena) {
this.cuatro_mc._y = -altoMC;
}
if (cuatro_mc._y<-altoMC) {
this.cuatro_mc._y = altoEscena;
}
//5
if (cinco_mc._y>altoEscena) {
this.cinco_mc._y = -altoMC;
}
if (cinco_mc._y<-altoMC) {
this.cinco_mc._y = altoEscena;
}
//6
if (seis_mc._y>altoEscena) {
this.seis_mc._y = -altoMC;
}
if (seis_mc._y<-altoMC) {
this.seis_mc._y = altoEscena;
}
//7
if (siete_mc._y>altoEscena) {
this.siete_mc._y = -altoMC;
}
if (siete_mc._y<-altoMC) {
this.siete_mc._y = altoEscena;
}
//8
if (ocho_mc._y>altoEscena) {
this.ocho_mc._y = -altoMC;
}
if (ocho_mc._y<-altoMC) {
this.ocho_mc._y = altoEscena;
}
play();

SEGUNDO FRAME


if (yposMouse>(yMitadEscena)+10) {
this.uno_mc._y -= factor;
this.dos_mc._y -= factor;
this.tres_mc._y -= factor;
this.cuatro_mc._y -= factor;
this.cinco_mc._y -= factor;
this.seis_mc._y -= factor;
this.siete_mc._y -= factor;
this.ocho_mc._y -= factor;
}

if (yposMouse<(yMitadEscena)-10) {
this.uno_mc._y -= factor;
this.dos_mc._y -= factor;
this.tres_mc._y -= factor;
this.cuatro_mc._y -= factor;
this.cinco_mc._y -= factor;
this.seis_mc._y -= factor;
this.siete_mc._y -= factor;
this.ocho_mc._y -= factor;
}

//Corrección del 1
if (this.ocho_mc._y<altoEscena-altoMC) {
this.uno_mc._y = this.ocho_mc._y+altoMC;
}
//corrección del 2
if (this.uno_mc._y<altoEscena-altoMC) {
this.dos_mc._y = this.uno_mc._y+altoMC;
}
//corrección del 3
if (this.dos_mc._y<altoEscena-altoMC) {
this.tres_mc._y = this.dos_mc._y+altoMC;
}
//corrección del 4
if (this.tres_mc._y<altoEscena-altoMC) {
this.cuatro_mc._y = this.tres_mc._y+altoMC;
}
//corrección del 5
if (this.cuatro_mc._y<altoEscena-altoMC) {
this.cinco_mc._y = this.cuatro_mc._y+altoMC;
}
//corrección del 6
if (this.cinco_mc._y<altoEscena-altoMC) {
this.seis_mc._y = this.cinco_mc._y+altoMC;
}
//corrección del 7
if (this.seis_mc._y<altoEscena-altoMC) {
this.siete_mc._y = this.seis_mc._y+altoMC;
}
//corrección del 8
if (this.siete_mc._y<altoEscena-altoMC) {
this.ocho_mc._y = this.siete_mc._y+altoMC;
}

gotoAndPlay(1);

A VER QUIEN ES EL QUE ME PUEDE DECIR EN QUE ME EQUIVOQUE!!! POR FA!!!!!!!!!!!!

Por SERGIOTE

10 de clabLevel



 

LIMA PERU

unknown
Citar            
MensajeEscrito el 21 Sep 2004 06:48 pm
Ahora mismo no tengo tiempo, pero mañana te digo algo.

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

unknown
Citar            
MensajeEscrito el 22 Sep 2004 05:04 pm
He montado tus datos en un fla, y lo primero que he visto es que si tu escenario mide 450 X 700, los valores

var yMitadEscena:Number = 200;
var altoEscena:Number = 400;

tendrían que ser 225 y 450 respectivamente.

A continuación, después de realizar estos cambios, la cosa continua igual. Pero veo lo siguiente:

1.- Tienes 8 mc's
2.- Miden 30 pixels que 30 * 8 = 240

Tal y como está implementado el script de este ejercicio, los mcs tienen que tener una media total de 450 pixels ya que se deslizan uno al lado del otro, como si estuvieran pegados. O bien, la var altoMc tiene que tener el valor de la división del alto del escenario por 8, ya que son 8 los mc's que tienes. O sea, 56.25 pixels.

A continuación, después de realizar estos cambios, la cosa va mejor, pero aún existe algún error. Veo lo siguente:

Si has leido el tutorial, no lo sé. Pero más o menos a la mitad dice:

"Al probar la película, me di cuenta de que quedaba un espacio en el medio, y cree un mc que me cubriera ese espacio (que puedes substituir por otra foto) por eso:..."

Entonces creo otro mc, lo nombro "nueve" (yo pondría incluso un décimo, pero tendrías que coger la calculadora para cambiar las variables), y cambio las correcciones de posición correspondientes, es decir, el 9 va tras el 1 y el ocho tras el 9. Ahora, tal como lo tengo yo en el escenario, tengo nueve mc's. Situados en las posiciones siguientes:

0, 50, 100, 150, 200, 250, 300, 350, 400 de su valor _y del 1 al 9 respectivamente.

Ahora, ya va mucho mejor, pero sigue realizando un pequeño saltito, así que trabajaremos con números enteros (sin decimales).

A la variable altoMc le pongo el valor de 55 y si lo multiplico por ocho me da 440, número que pongo como variable de altoEscena.

La variable mitadEscena no la toco, porque la película sigue teniendo las mismas dimensiones.

Le doy al Control+Enter y ¡Funcionaaaaaa!

Le pongo una máscara para que no se vea como se quita de golpe un lado y se pone al otro, tiene que verse como desaparece de un extremo y aparece en el otro. Así que la medida del rectángulo que hace de máscara será de:

700 por 450 pixels, su posición x=0 e y=0.

Si no quieres añadir un mc com yo, pues otra solución sería modificar las medidas de la variable altoMc para que te cuadre. Creo que tu mismo podrás ya investigar eso.

Por cierto, pon tu peli a 24 frames por segundo, se verá un movimiento más suave. También puedes incrementar la velocidad del movimiento poniendo la variable velMax a 10 por ejemplo. Tu mismo.

Es que los hay novatos! Como yo!

Espero que te sirva para entender un poco más a programar. Pero la próxima vea que no se te olvide la calculadora!

Como no se que nivel tienes de novatez, pues te pongo toco el código modificado para que puedas copiarlo más fácilmente:


Código :

//Código para easing vertical
//frame 1

var yposMouse:Number = _root._ymouse;
var velMax:Number = 4;
var velMin:Number = 0;
var yMitadEscena:Number = 225;
var altoEscena:Number = 440;
var altoMC:Number = 55;
var factor:Number = yposMouse*(velMax-velMin)/yMitadEscena+2*velMin-velMax;
if (factor>velMax) {
   factor = velMax;
} else if (factor<-velMax) {
   factor = -velMax;
}
//para el 1 
if (uno_mc._y>altoEscena) {
   this.uno_mc._y = -altoMC;
}
if (uno_mc._y<-altoMC) {
   this.uno_mc._y = altoEscena;
}
//para el 2 
if (dos_mc._y>altoEscena) {
   this.dos_mc._y = -altoMC;
}
if (dos_mc._y<-altoMC) {
   this.dos_mc._y = altoEscena;
}
//3 
if (tres_mc._y>altoEscena) {
   this.tres_mc._y = -altoMC;
}
if (tres_mc._y<-altoMC) {
   this.tres_mc._y = altoEscena;
}
//4 
if (cuatro_mc._y>altoEscena) {
   this.cuatro_mc._y = -altoMC;
}
if (cuatro_mc._y<-altoMC) {
   this.cuatro_mc._y = altoEscena;
}
//5 
if (cinco_mc._y>altoEscena) {
   this.cinco_mc._y = -altoMC;
}
if (cinco_mc._y<-altoMC) {
   this.cinco_mc._y = altoEscena;
}
//6 
if (seis_mc._y>altoEscena) {
   this.seis_mc._y = -altoMC;
}
if (seis_mc._y<-altoMC) {
   this.seis_mc._y = altoEscena;
}
//7 
if (siete_mc._y>altoEscena) {
   this.siete_mc._y = -altoMC;
}
if (siete_mc._y<-altoMC) {
   this.siete_mc._y = altoEscena;
}
//8 
if (ocho_mc._y>altoEscena) {
   this.ocho_mc._y = -altoMC;
}
if (ocho_mc._y<-altoMC) {
   this.ocho_mc._y = altoEscena;
}
//9 este es el nuevo
if (nueve_mc._y>altoEscena) {
   this.nueve_mc._y = -altoMC;
}
if (nueve_mc._y<-altoMC) {
   this.nueve_mc._y = altoEscena;
}
play();


//frame 2

if (yposMouse>(yMitadEscena)+10) {
   this.uno_mc._y -= factor;
   this.dos_mc._y -= factor;
   this.tres_mc._y -= factor;
   this.cuatro_mc._y -= factor;
   this.cinco_mc._y -= factor;
   this.seis_mc._y -= factor;
   this.siete_mc._y -= factor;
   this.ocho_mc._y -= factor;
   this.nueve_mc._y -= factor;
}
if (yposMouse<(yMitadEscena)-10) {
   this.uno_mc._y -= factor;
   this.dos_mc._y -= factor;
   this.tres_mc._y -= factor;
   this.cuatro_mc._y -= factor;
   this.cinco_mc._y -= factor;
   this.seis_mc._y -= factor;
   this.siete_mc._y -= factor;
   this.ocho_mc._y -= factor;
   this.nueve_mc._y -= factor;
}
//Corrección del 1 
if (this.nueve_mc._y<altoEscena-altoMC) {
   this.uno_mc._y = this.nueve_mc._y+altoMC;
}
//corrección del 2 
if (this.uno_mc._y<altoEscena-altoMC) {
   this.dos_mc._y = this.uno_mc._y+altoMC;
}
//corrección del 3 
if (this.dos_mc._y<altoEscena-altoMC) {
   this.tres_mc._y = this.dos_mc._y+altoMC;
}
//corrección del 4 
if (this.tres_mc._y<altoEscena-altoMC) {
   this.cuatro_mc._y = this.tres_mc._y+altoMC;
}
//corrección del 5 
if (this.cuatro_mc._y<altoEscena-altoMC) {
   this.cinco_mc._y = this.cuatro_mc._y+altoMC;
}
//corrección del 6 
if (this.cinco_mc._y<altoEscena-altoMC) {
   this.seis_mc._y = this.cinco_mc._y+altoMC;
}
//corrección del 7 
if (this.seis_mc._y<altoEscena-altoMC) {
   this.siete_mc._y = this.seis_mc._y+altoMC;
}
//corrección del 8 
if (this.siete_mc._y<altoEscena-altoMC) {
   this.ocho_mc._y = this.siete_mc._y+altoMC;
}
if (this.ocho_mc._y<altoEscena-altoMC) {
   this.nueve_mc._y = this.ocho_mc._y+altoMC;
}
gotoAndPlay(1);

Si aun no te sale, pues ya sabes para eso estamos aquí, porque nos gusta flash. Que tengas suerte!

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

unknown
Citar            
MensajeEscrito el 22 Sep 2004 06:44 pm
Gracias Mil!!! lo pruebo y te digo como salio

Por SERGIOTE

10 de clabLevel



 

LIMA PERU

unknown
Citar            
MensajeEscrito el 22 Sep 2004 07:07 pm
bueno, digo yo, no seria mas facil utilizar un new mx.transitions.tween???

Por _david

565 de clabLevel


1 articulo

Genero:Masculino  

Bogota, Colombia

unknown
Citar            
MensajeEscrito el 22 Sep 2004 07:14 pm
Haybastantes tutoriales de easing; y creo que el siguente paso es seguir con los "un poco mas" avanzados
http://www.cristalab.com/vertutorial.php?id=58
http://www.cristalab.com/vertutorial.php?id=11
Usando la busqueda de Cristalab por easing encontraras batante :D

Saludos

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 23 Sep 2004 11:32 am

_david escribió:

bueno, digo yo, no seria mas facil utilizar un new mx.transitions.tween???


Te podrías explicar mejor? no me suena mucho eso.

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

unknown
Citar            
MensajeEscrito el 23 Sep 2004 02:06 pm
Por lo menos seria un poco mas corto ... xD

JOHNMARTIN

Por JOHNMARTIN

Claber

1222 de clabLevel

4 tutoriales
4 articulos
2 ejemplos

Genero:Masculino  

||| BOGOTA COLOMBIA |||

unknown
Citar            
MensajeEscrito el 23 Sep 2004 08:31 pm
FUNCIONO!! DE LA P.... M.... !!!!
He probado con mas MC... esta vez con calculadora en mano y funciona muy bien, tanto en horizontal como en vertical...

MUCHAS GRACIAS!!!

Por SERGIOTE

10 de clabLevel



 

LIMA PERU

unknown
Citar            
MensajeEscrito el 23 Sep 2004 11:46 pm

fdsa1968 escribió:

_david escribió:

bueno, digo yo, no seria mas facil utilizar un new mx.transitions.tween???


Te podrías explicar mejor? no me suena mucho eso.


Es la clase de robert penner para mover cosas ...

No la recomiendo traga recursos mirate un tuto q hice sobre easing

La clase es increible y estoy fascinao como programa Penner pero ahi la pifiao , traga muchisimo y es una pena ...

salu2

Por buho29

510 de clabLevel

1 tutorial

7 ejemplos

 

unknown
Citar            
MensajeEscrito el 24 Sep 2004 09:04 am
1.- Pues nada hombre, a disfrutar! Y espero que nos enseñes tu trabajo acabado vale!


2.- Lo de Penner, pues ya he mirado sus trabajos, pero aún me falta saber como utilizar las clases, en fin, dentro de unos meses quizás. (Aparte tendré que hacer un curso de inglés claro)

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

unknown
Citar            
MensajeEscrito el 25 Sep 2004 01:44 am
BUENO SEÑORES.... LUEGO DE TANTO CONSEJO BUENO, NI MODO, NO QUEDA OTRA OPCION: EL BENDITO MENU FUNCIONA!!

UNA CONCLUSION PARA EL TUTOR:

- CUENTEN SUS MC MENOS UNO MULTIPLIQUENLO POR EL ALTO DEL MC Y COLOQUEN ESE TOTAL COMO ALTO DE ESCENA...

altoEscena=(#deMC´s - 1)*altoMC

esto se aplica tambien para el menu en horizontal

... S.E.U.O..

Por SERGIOTE

10 de clabLevel



 

LIMA PERU

unknown
Citar            
MensajeEscrito el 27 Sep 2004 12:15 pm
Gracias por aportar tus observaciones, ya sabes a seguir aprendiendo.

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

unknown

 

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