elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación General / ActionScript: Duda con fragmento de código (¡Matemáticas!) en: 20 Enero 2011, 14:54
Buscando por internet he encontrado el siguiente código, funciona a la perfección y tras toquetearlo un poco hace lo que quiero.

Código:
var fuerza_repulsiva = 50;
var distancia_minima = 5;
 
var coordenada_x_final = this._x;
var coordenanda_y_final = this._y;
 
this.onEnterFrame = function(){
   
   var distancia_x = this._x - _root._xmouse;
   var distancia_y = this._y - _root._ymouse;
   
   var distancia_existente = Math.sqrt(distancia_x * distancia_x + distancia_y * distancia_y);
   
   if(distancia_existente < distancia_minima){
       
      var incremento_x = distancia_x * (distancia_existente + fuerza_repulsiva) / distancia_existente;
      var incremento_y = distancia_y * (distancia_existente + fuerza_repulsiva) / distancia_existente;
       
      coordenada_x_final = this._x + incremento_x;
      coordenada_y_final = this._y + incremento_y;
       
   }
   
   var incremento_x = (coordenada_x_final - this._x) * .25;
   var incremento_y = (coordenada_y_final - this._y) * .25;
   
   this._x = this._x + incremento_x;
   this._y = this._y + incremento_y;
   
};

Cuando me topo con un código así voy analizando línea por línea y cambiando algunos nombres de variables hasta entender que hace en cada momento, pero una parte de este me ha podido.

Citar

Explicación y duda

   1. Primero calculamos la distancia entre el mouse y el objeto en el eje X, posteriormente hacemos lo mismo en el eje Y.

   2. A continuación calculamos la distancia real entre los dos puntos mediante el teorema de Pitágoras usando los dos datos anteriores.

   3. Abrimos el condicional. Si la distancia entre el mouse y el objeto es menor a lo establecido:

            Fijamos la cantidad de píxels que se debe alejar nuestro objeto con operaciones que no logro comprender.

            Fijamos la posición final del objeto tras el desplazamiento. No comprendo la finalidad, ya hacemos esto al final del código.

   4. Volvemos a fijar el incremento para alejar nuestro objeto. ¿Por qué? Si se ejecutara el condicional tendríamos repetida la declaración de las variables "incremento_x" e "incremento_y".

   5. Finalmente le sumamos a la posición inicial la distancia que se debe alejar el objeto para los dos ejes de coordenadas.


No logro comprender practicamente todas las líneas que se ejecutan dentro y después del "if" ¿Alguien me las puede explicar? Por si las moscas cuelgo el código tal cual lo saqué de internet (AVISO: De la manera siguiente no ejecuta lo deseado):

Código:
//---Valor que debe alejarse y valor al que permite acercarse
 
var alejarse:Number = 50;
var cerca:Number = 50;
 
var newX:Number = this.bola._x;
var newY:Number = this.bola._y;
 
//---Funcion de movimiento
this.bola.onEnterFrame = function():Void {
   
   var difX:Number = this._x - _root._xmouse;
   var difY:Number = this._y - _root._ymouse;
   
   var hipot:Number = Math.sqrt(difX * difX + difY * difY);
   
   if(hipot < cerca){
       
      var incX:Number = difX * (hipot + alejarse) / hipot;
      var incY:Number = difY * (hipot + alejarse) / hipot;
       
      newX = this._x + incX;
      newY = this._y + incY;
       
   }
   
   var X:Number = (newX - this._x) * .25;
   var Y:Number = (newY - this._y) * .25;
   
   this._x += X;
   this._y += Y;
   
};

Espero que me podáis ayudar, llevo toda la mañana dandole al coco con esta historia. Gracias de antemano por la ayuda, cualquier mínima pista será bien recibida.
2  Media / Diseño Gráfico / Vídeo promocional: Proyecto achDesign'10 en: 4 Noviembre 2010, 02:37
Proyecto achDesign'10

Antes de empezar me gustaría agradecer a todos los lectores el interes por mi proyecto, y es que tras un mes publicitándolo en redes sociales he decidido llevarlo a terrenos mas ámplios; el primer paso, este post. Lo que traigo es una página web dedicada al diseño gráfico, el desarrollo web y todo tema similar. Una manera de darme a conocer y algo que me ha costado mucho trabajo, todo ello para lograr uno de mis sueños.

Continúo dejando el enlace al vídeo promocional de mi proyecto, cualquier duda, sugerencia o crítica referente al vídeo será bien recibida.



Turn on your Speakers!!
Adobe AfterEffects CS4 + Adobe Photoshop CS4 + Adobe Audition 3.0
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines