Ayuda para hacer movimientos como de Fisica
Hola,
me gustaria que me apoyaran en como hacerle para hacer movientos donde interviene la fisica, como proyectiles, o balisticos.
les doy un ejemplo si lanzo una flecha me gustaria sacar la direccion desde el momento que sube, y a cierto tiempo por la fuerza de gravedad baja y hace su recorrido.
espero haberme explicado bien.
La idea de esto es crearme mi propia clase de movimientos fisicos, para insertarlo en mi framework de juego.
- Inicie sesión o regístrese para enviar comentarios
Puede que de aquí des un
Puede que de aquí des un primer paso:
Saludos
gracias
de antemano se que:
por ejemplo si quiero lanzar algo a 45 grados como le hago para que de la coordenada x=0 e y=0 se vaya en posicion a esos 45 grados, pero con una velocidad constante de 5px por step (o loop como se entienda).
esa es la cuestion, se que necesito utilizar mucha trigonometria, pero no recuerdo muy bien, habra alguien que me pueda aportar algo en ese aspecto, o que me de ejemplos,
gracias de antemano
pregunta
No entiendo muy bien....
Estas desarrollando un juego para Android en Java?
Utilizas algún software para realizarlo?
Has probado viendo el código de algún motor de físicas?
si puedes contar un poco mas igual puedo darte algunas ideas...
saludos loKos!!! :D
ejemplo
para sacar la posicion X e Y a la cual se tiene que mover tu bala tienes que sacar los datos sigueintes del enemigo
direccionX= coseno(enemigo.x);
direccionY=seno(enemigo.y);
ahora a esos valores los multiplicamos por la velocidad en pixeles que se movera en cada loop
por ejemplo que los valores que nos den
X 1 ,Y 0.8
y lo multiplicamos por la velocidad que tienes de 5 pixles por loop queda asi
velX=5 , ve;Y=4;
y tu bala en este caso en esa direccion se movera en esa direccion que quieres a donde estaba el enemigo en cuando disparaste la bale.
y la ecuacion para la gravedad de algo es simple, ( tarde 3 anos de investigacion de fisica para sacarla, no es broma)
POSX= vely +gravedad+incremento de gravedad;
intenta mover un sprite con los siguientes valores
int velY= -5;
float gravedad=0.02;
int incremento_de_gravedad=0;
sustituye esos valores por la ecuacion anterior y vas a ver que en cada loop la gravedad va teniendo mas fuerza hasta que el sprite se va moviendo hasta abajo.
eso es de la forma mas simple que se me ocurre como explicarte, si quieres profundizar mas te recomiendo leer sobre fisica, dinamica, etc.
todas esas materias que vimos en preparatorias y que nunca les prestamos atencion, hasta que uno las necesita
Referencia.
Puedes checar cómo se maneja la física desarrollando uno sencillo en c++ para que entiendas un poco mejor antes de pasarte al modo gráfico