Consultas, desarrollo de programas y petición de presupuestos:

martes, 13 de enero de 2015

1945: El Juego


1945: El Juego



Una de las cosas que siempre me han gustado es poder realizar juegos (aunque fueran simples) hechos por mi mismo... Bueno, pues buscando por intenet encontré este libro:  "Programación de Juegos para móviles con J2ME" de Alberto García Serrano , que aunque explica como hacer juegos para Java, es perfectamente adaptable a Gambas3.


1945: Versión realizada en Gambas3


Nuestro avión  se controla con las teclas del cursor, y el juego lleva incluido:
 - Movimiento del avión y de los enemigos (distintos tipos de enemigos)
 - Scrolling del mapa de fondo.
 - Disparos y explosiones
 - Inteligencia artificial:  Mediante una máquina de estado se controlan los aviones enemigos.
 - Cálculo de Colisiones (entre enemigos y nuestro avión, entre nuestras bombas y los enemigos y entre las bombas de los enemigos con nuestro avión)

Vemos un poco del código:
El esquema del proyecto es el siguiente:
Como veis tenemos la clase Sprite, que es padre de varias clases. Es la clase encargada de manejar las imágenes (los sprites o tiled). Luego tenemos varias que heredan de ella, que se encargan de especificar en concreto como se mueven o la tipo de avión (en el caso de los enemigos que tenemos varios tipos de movimientos)

El "game loop", el corazón del juego, se realiza mediante un objeto Timer, que actualiza la posición de los objetos (aviones, disparos, explosiones, cálculo de colisiones)
-

-

y luego llama al evento _draw del DrawingArea, para que se redibuje todo:
-

-

Descarga el código fuente el instalador y libro en: alojado en https://drive.google.com


Espero que os guste.

Saludos

Julio




2 comentarios:

  1. Un gran trabajo, si señor.

    No se a que es debido, pero al ejecutar el juego, en la horizontalidad de la parte de abajo, "tiles" creo que se llama, desaparece antes de tiempo, ¿a que puede deberse? No se si me explicado bien.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. ¿cual es tu microprocesador (la cpu)?
      ¿tienes la aceleración gráfica activada?

      Eliminar