Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/05/2011, 17:56
Avatar de esdebon
esdebon
 
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 9 meses
Puntos: 18
Respuesta: problemas con direccion de la animacion

jajajaja, acabo de ver el link que pusiste no lo habia visto

Lo que yo hace eran unas carpas vistas desde un lado de una pecera.

Y lo que quieres son unas carpas vistas desde arriba


Código actionscript:
Ver original
  1. var k_01 = new koi();
  2.     k_01.x = aleatorio(0,181);
  3.     k_01.y = aleatorio(0,181);
  4.     k_01.velx = aleatorio(1,5);
  5.     k_01.vely = aleatorio(1,5);
  6.     k_01.dirx = (1-(Math.floor(Math.random()*2)*2));
  7.     k_01.diry = (1-(Math.floor(Math.random()*2)*2));
  8.     addChild(k_01);
  9. var k_02 = new koi2();
  10.     k_02.x = aleatorio(0,181);
  11.     k_02.y = aleatorio(0,181);
  12.     k_02.velx = aleatorio(1,5);
  13.     k_02.vely = aleatorio(1,5);
  14.     k_02.dirx = (1-(Math.floor(Math.random()*2)*2));
  15.     k_02.diry = (1-(Math.floor(Math.random()*2)*2));
  16.     addChild(k_02);
  17. var k_03 = new koi3();
  18.     k_03.x = aleatorio(0,181);
  19.     k_03.y = aleatorio(0,181);
  20.     k_03.velx = aleatorio(1,5);
  21.     k_03.vely = aleatorio(1,5);
  22.     k_03.dirx = (1-(Math.floor(Math.random()*2)*2));
  23.     k_03.diry = (1-(Math.floor(Math.random()*2)*2));
  24.     addChild(k_03);
  25.    
  26.  
  27. k_01.addEventListener(Event.ENTER_FRAME, mover)
  28. k_02.addEventListener(Event.ENTER_FRAME, mover)
  29. k_03.addEventListener(Event.ENTER_FRAME, mover)
  30.  
  31. var limiteDerecho:Number=stage.stageWidth;
  32. var limiteIzquierdo:Number=0;
  33. var limiteArriba:Number=0;
  34. var limiteAbajo:Number=stage.stageHeight;
  35.  
  36. function  gradosGiro(destinoX:Number, destinoY:Number, origenX:Number, origenY:Number):Number {
  37.     var restoX:Number = destinoX - origenX;
  38.     var restoY:Number = destinoY - origenY;
  39.     return (Math.atan2(restoY,restoX) * 180 / Math.PI);
  40. }
  41. function mover(e:Event):void
  42. {  
  43.     e.target.irX=e.target.velx * e.target.dirx
  44.     e.target.irY=e.target.vely * e.target.diry;
  45.    
  46.     e.target.rotation=gradosGiro(e.target.x+e.target.irX,e.target.y+e.target.irY,e.target.x,e.target.y);
  47.    
  48.     e.target.x+= e.target.irX;
  49.     e.target.y+= e.target.irY;
  50.     ///////////Limites
  51.     if((e.target.x+e.target.width/2)>limiteDerecho || (e.target.x-e.target.width/2)<=limiteIzquierdo){
  52.         e.target.dirx*=-1;
  53.     }
  54.     if((e.target.y+e.target.height/2)>limiteAbajo || (e.target.y-e.target.height/2)<=limiteArriba){
  55.         e.target.diry*=-1;
  56.     }  
  57. }

La función gradosGiro() hace que las carpas vean hacia su destino...
pero para que se vea bien, yo creo que tienes que hacer una funcion con un timer que en un intervalo de tiempo al azar te de una nueva posición destino de las carpas y nuevas velocidades, si no sólo parecerá que rebotan en los bordes.
__________________
Mi sitio: http://www.fluocode.com