Comunidad de diseño web y desarrollo en internet online

MC que rota en funcion de los valores _xmouse y _ymouse

Citar            
MensajeEscrito el 18 Sep 2005 09:22 am
Buenas :

Como soy un poco torpe con las matemáticas, tengo el siguiente problema:

Quiero realizar un brazo de una grúa (será el MC principal).
Este brazo está compuesto por tres MC´s.
Los movimientos que hace el brazo son 2:
1.- rotación (estará condicionada por las coordenadas del ratón).
2.- se encoge o estira (estará condicionada por las coordenadas del ratón).
El problema es que no sé cómo pasar al MC principal los grados que debe de girar.
El movimiento de estirar o encoger si que lo tengo controlado.

Se que debo aplicar una ecuación trigonométrica, pero cuando explicaron esa lección en el colegio, yo casualmente no estaba je, je, je,....

Gracias por vuestra ayuda

Y saludos que hace tiempo que no me enganchaba al foro.
Mientras tanto, echaré un vistazo al buscador.

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 18 Sep 2005 09:55 am
Este es el codigo que utilice para el menu ipod ...
http://www.theninjabunny.com/proyectos/menupod.fla
http://www.theninjabunny.com/proyectos/menupod.html

"mcgir" seria tu mc principal

Código :

function angulo(){
   dist = distancia(mcgir._x,mcgir._y,_xmouse,_ymouse);
   catOp = mcgir._y-_ymouse;
   catCo = _xmouse-mcgir._x;
   tang = catOp/catCo;
   angRad = Math.asin(catOP/dist);
   angRad = Math.atan(tang);
   angGr = 180*angRad/Math.PI;
   if(_xmouse<mcgir._x) { angGr += 180; } else {angGr +=360; };
   if(angGr>=360) {
      angGr -= 360;
   };
   return angGr;
};
   
function distancia(xa,ya,xb,yb) {
   return Math.sqrt(Math.pow(xa-xb,2)+Math.pow(ya-yb,2));
};



lo que hace basicamente es hayar el angulo a traves del arcotangente, solo hay un problema que tangentes positivas hay dos y negativas otras dos, por eso la comprobacion de si el raton esta a la izkierda o a la derecha del mc principal ... despues se suman y reestan algunos grados para el ajuste, por ese tema y porque en flash el 0 esta en otro lado... en fin, mejor bajate el fla porsi falla algo... saludetes!!

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 19 Sep 2005 11:04 am
:o :o ^^

Gracias ICEM4N,


Ese movimiento es el que estaba buscando, voy a probarlo a ver que tal sale.

Ya te contaré

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 19 Sep 2005 11:42 am
aca hay uno un poco mas sencillo


Código :

brazo.onEnterFrame = function() {
                rot = Math.atan2(brazo._ymouse, brazo._xmouse);
   brazo._rotation = ((rot*180)/Math.PI)+90;
}


como usas brazo._ymouse y brazo._xmouse te calcula direcatamente el delta
dsp lo pasa a grados y sumas 90 por que flash ta dado vuelta

chau

Por juampe

9 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Sep 2005 01:11 pm

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie

 

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