Comunidad de diseño web y desarrollo en internet online

Problema con angulos

Citar            
MensajeEscrito el 26 Jun 2013 02:00 pm
Buenas,

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:

Código Javascript :

//ESTA ES LA FORMULA DE LA RECTA DADO DOS vectores
//al clickar con el raton recojo su posicion, y la del tio, y al tener 2 puntos
//puedosaber la formula de la recta.
//por cada vuelta, sumo o resto 5 a 'x', y vuelvo a recojer la x segun esaa x.
 
var yb = ytio+(((yraton-ytio)/(xraton-xtio))*(bala.getX()-xtio));
     
 
     bala.setY(yb);
 
 
//si el grado es superior de 180 dispara hacia el otro lado.
 
      if (parseInt(grados) > 180) {
 
       bala.setX(bala.getX()-5);
 
      }else{
 
        
        bala.setX(bala.getX()+5);
 
      }




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 :

var theta = Math.atan2(ratony - pjy-15, ratonx - pjx-15);
            // be sure theta is positive
            if (theta < 0) {
                theta += 2 * Math.PI
            };
            // convert to degrees and rotate so 0 degrees = 12 o'clock
            var grados= (theta * 180 / Math.PI + 90) % 360;

Por Phyronx

41 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jun 2013 06:20 pm
que ningun ingeniero? ;)

Por Phyronx

41 de clabLevel



 

chrome

 

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