Comunidad de diseño web y desarrollo en internet online

moviclip deja de moverse cuando pasa de negativo a positivo

Citar            
MensajeEscrito el 30 Jul 2008 12:57 pm
Hola a todos, estoy haciendo una animacion mediante as2 en la cual, tengo la tipica trampa en la que el techo va bajando poco a poco para aplastar al jugador del juego que estoy haciendo. Pues bien, he creado una funcion llamada bajar techo que os dejo a continuacion:

function bajarTecho(velocidad:Number, inclinacion:Number)
{

techo_pinchos.onEnterFrame = function()
{
this._y = this._y + velocidad;
this._yscale = this._yscale - inclinacion;

if(minutos == 0 && segundos == 0)
delete this.onEnterFrame;

}

}
siendo la llamada:
bajarTecho(0.04, 0);

bien, pues el error consiste en que el techo empieza a bajar bien, pero cuando la y del mismo llega a 0 se para, aunque la funcion se sigue ejecutando, porque si pongo un trace(this._y), en los frames cercanos a 0 me pone:
-0.2
-0.15
-0.1
-0.05
0
0
0
por lo que se demuestra que la funcion se ejecuta pero es como si la velocidad se pusiera a 0, cuando si la imprimo con trace(velocidad) sigue siendo 0.04. y no tengo ninguna otra condicion para que ocurra eso. Ademas, lo raro es que si pongo las siguientes llamadas:

bajarTecho(2, 0);
bajarTecho(1, 0);
bajarTecho(0.8, 0);

el techo si sigue bajando pasado el 0, pero como necesito que baje muy despacio porque tiene que durar 15 min la animacion, tiene q ser 0.04 como minimo, y con ese valor ocurre eso. Tambien he probado poniendo 4/100 en ves de 0.04, porque he leido que a veces hay problemas con los decimales pero nada..
si a alguien tiene alguna idea de que puede pasar se lo agradeceria mucho
muchas gracias

Por Lord Angelus

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Jul 2008 02:56 pm
Dado que ess simplemente sumando, la serie (no importa cuanto sumes) irá siempre a positivo
Una simulación:

Código :

base = -2
this.onEnterFrame = function(){
   trace(base+= .04)
}


La serie crece, por lo que no se debería detener. Veo que la función no está muy encapsulada, puede que estes sobreescribiendo algo en otro lado. Y si no lo descubres, bájale los FPS a la peli y un 0,05 igual te sirve

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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