Detalles del juego de la moto en jMonekyEngine.

1
9668

Detalles del juego de la moto.

En este tutorial veremos algunos puntos interesantes sobre el tutorial
 JMonkeyEngine,
Creación de nuestro primer juego
.

Nos centraremos en el seguimiento de cámara, los movimientos
de la moto y os mencionare algún bug que tiene.

Empecemos por la cámara de seguimiento,todo los cambios para
la cámara se harán en el fichero juego.java, para
implementar una cámara de seguimiento, tenemos que declarar
2 variables: la primera es la cámara y la siguiente el
seguidor.

Ya que se necesita una cámara para poder estar viendo los
objetos, luego esta cámara se englobara dentro del seguidor
que sera luego quien realmente vaya detrás de la moto.

Luego tendremos que modificar nuestro método update, ya que
hay que ir refrescando la posición de la cámara
para poder ver la moto en su posición actual. Como hacemos
en todos las aplicaciones.

Despúes en el método initSystem() tambien
tendremos que añadir codigo, ya que es el
método de inicio y tendremos que iniciar la
cámara que usara el seguidor.

Y por ultimo añadimos un método que llamaremos en
InitGame(), a este método le llamaremos buildChaseCamera()
en el que definimos las propiedades del seguidor y le asociamos la
cámara y el objeto a seguir.

Ahora os hablare de como hacer los movimientos de la moto, empezare por el movimiento de las ruedas, esto lo haremos dentro del archivo
moto.java. Lo que tenemos que hacer son los cálculos
matemáticos para calcular el angulo de movimiento,
según la velocidad y luego  aplicárselo
a las ruedas( para hallar los nombres de los nodos de las ruedas y lo
que hay que hacer para usarlas  mirar el tutorial Scene
Monitor, jMonkeyEngine).

La variable wheelAxis es una constante que es del tipo Vector3f cuyo
valor es (0,1,0).

Para hacer que la moto se tumbe añadimos el
método processLean que es el que nos permite hacer que la
moto se tumbe cuando gire, entonces para ello tenemos que hacer un
calculo del angulo que necesita y lo hacemos en función del
tiempo ya que la moto se encuentra en movimiento y según
como vaya de rápido inclinara mas o menos.

La variable q es de tipo Quaternion y se usa de variable auxiliar.

Para hacer el efecto de freno sin mas con que disminuyamos el valor de la velocidad  en función del tiempo se consigue.

El efecto de acelerar es el mismo que el de frenar solo que en vez de restar sumamos.

Para hacer que las ruedas patinen usaremos el método drift

Para que la moto gire hemos implementado una nueva clase que es una
extension de KeyInputAction ya que luego lo usaremos para que cuando
pulsemos unas teclas especificas ocurran los giros, ha este fichero lo
hemos denominado RotacionMoto.java.

Para hacer que vaya hacia delante y hacia atrás
también tenemos que denominar una nueva clase para esto
suceda con una teclas definidas, también la definiremos como
una clase extendida de KeyInputAction como la clase anterior y la
llamaremos AvanzarRetroceder.java

Para hacer que derrape hay que hacer exactamente lo mismo que en las
dos clases anteriores, definirla como clase extendida de KeyInputAction
 en este caso la llamaremos  AccionDerrape.java

Como bugs que tiene el juego, podríamos decir que es uno que
la moto se puede salir del escenario y parece que va volando, eso es
porque no están implementadas las colisiones

Para cualquier duda de los métodos y las clases de JMonkey
Engine se puede consultar http://wiki.jmonkeyengine.org/doku.php/
):

Espero que les haya sido útil para poder profundizar algo
más en el juego, seguiremos
haciendo más tutoriales sobre esta tecnología
analizando más ejemplos algo más complicados,
todo el que quiera hacer una aportación será bien
recibida.

Para comunicarme cualquier problema o sugerencia de mejora
podéis utilizar la zona de comentarios, de este modo todo el
mundo se podrá aprovechar de las respuestas.

Saludos.

1 Comentario

Dejar respuesta

Please enter your comment!
Please enter your name here