Foros del Web » Programando para Internet » Javascript »

Problema de angulos

Estas en el tema de Problema de angulos en el foro de Javascript en Foros del Web. Buenas, Primero excusarme si era mejor publicarlo en html5, ya que hago uso del canvas. Estoy intentando crear un juego, un tio que se mueve ...
  #1 (permalink)  
Antiguo 26/06/2013, 05:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 15 años
Puntos: 3
Problema de angulos

Buenas,

Primero excusarme si era mejor publicarlo en html5, ya que hago uso del canvas.

Estoy intentando crear un juego, un tio que se mueve segun la posicion del raton, i dispara a sus enemigos, girando 360 grados.

El problema esque debo tener un error con el angulo, o no entiendo bien el porque, si disparo hacia arriba y hacia abajo, lo k seria cerca del grado 0 y del grado 180, lo que me hace es disparar hacia atras.

Mejor hos pongo el codigo que utilizo:

Código Javascript:
Ver original
  1. //ESTA ES LA FORMULA DE LA RECTA DADO DOS vectores
  2. //al clickar con el raton recojo su posicion, y la del tio, y al tener 2 puntos
  3. //puedosaber la formula de la recta.
  4. //por cada vuelta, sumo o resto 5 a 'x', y vuelvo a recojer la x segun esaa x.
  5.  
  6. var yb = ytio+(((yraton-ytio)/(xraton-xtio))*(bala.getX()-xtio));
  7.      
  8.  
  9.      bala.setY(yb);
  10.  
  11.  
  12. //si el grado es superior de 180 dispara hacia el otro lado.
  13.  
  14.       if (parseInt(grados) > 180) {
  15.  
  16.        bala.setX(bala.getX()-5);
  17.  
  18.       }else{
  19.  
  20.        
  21.         bala.setX(bala.getX()+5);
  22.  
  23.       }


La variable grados la saco de la rotacion del personaje.

Tengo el 'juego' colgado para que podais ver el error, mantened pulsado el raton para disparar, y 'wsad', para mover. Si el disparo se hacerca arriba o abajo vereis el error.

"gclimb.com/fire"

No sabia como crear la trayectoria de la bala, y esto me lo monte yo con lo que sabia, si sabeis otra forma de generar mejor la trayectoria..

GRacias por adelantado!



PD: Hos pongo como saco los grados:

Código Javascript:
Ver original
  1. var theta = Math.atan2(ratony - pjy-15, ratonx - pjx-15);
  2.             // be sure theta is positive
  3.             if (theta < 0) {
  4.                 theta += 2 * Math.PI
  5.             };
  6.             // convert to degrees and rotate so 0 degrees = 12 o'clock
  7.             var grados= (theta * 180 / Math.PI + 90) % 360;

Última edición por phyronx; 26/06/2013 a las 06:06
  #2 (permalink)  
Antiguo 26/06/2013, 12:16
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema de angulos

Que, ningun ingeniero mecanico? ;)
  #3 (permalink)  
Antiguo 26/06/2013, 13:35
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema de angulos

He estado probando el juego y no he visto cual es el problema que tienes exactamente. ¿Puedes explicarlo algo más o incluso poner una imagen del problema?

Un saludo.
  #4 (permalink)  
Antiguo 01/07/2013, 10:39
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Problema de angulos

creo q el problema debe ser que en esos casos (xraton=xtio) luego tenrías en la fórmula una división entre cero que ya sebamos no puede ser. Saludos.

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:28.