Venga, pues vamos con ello...
Teneis publicada la primera entrega, un esqueleto vacío que entra a modo gráfico y muestra una imagen. Copio y pego la "explicación" (demasiado breve, pero el tiempo libre escasea) y al final teneis el enlace para más detalles y para la información más actualizada...
---
Algunas ideas sobre el esqueleto del juego
Para no necesitar conocer demasiado los detalles internos de SDL y de su adaptación como parte del "Tao Framework", el esqueleto incluye varias clases auxiliares, como:
El "Hardware", para poder mostrar cosas en pantalla y leer de teclado.
Un "Elemento Gráfico", que representa a una imagen en el juego (o incluso a un personaje que está representado por una secuencia de imágenes).
Una "Fuente" (un tipo de letra), que nos permitirá escribir textos en pantalla.
Para evitar parpadeos, las imágenes y los textos se dibujan en una pantalla oculta (un "doble buffer"), que se muestra cuando todos los elementos están preparados.
Primeras órdenes empleadas
Algunas de las órdenes básicas existentes en esas tres clases, y que usaremos en este priemr acercamiento:
Un Elemento Gráfico se declara (ElemGrafico imagenPersonaje;), se carga de disco con "new" (imagenPersonaje = new ElemGrafico( "imagenes/personaje.png" );), se coloca en cualquier posición con MoverA (imagenPersonaje. MoverA( 380, 300);) y se dibuja en la pantalla oculta (imagenPersonaje. DibujarOculta();).
Una Fuente (tipo de letra) también se declara (Fuente fuente18;), se carga de disco con "new" (fuente18 = new Fuente("FreeSansBold.ttf", 18);), y el texto se esrcribe en pantalla oculta en ciertas coordenadas (por ejemplo 300,500) y con cierto color, expresado como componentes RBG -Rojo, Verde, Azul- (Hardware. EscribirTextoOculta( "Pulsa ESC para salir", 300, 500, 0xAA, 0xAA, 0xAA, fuente18);) .
El modo gráfico se inicializa con "Hardware. Inicializar(800, 600, 24);", la pantalla oculta se puede visualizar cuando esté totalmente preparada, usando "Hardware. VisualizarOculta();", y se puede comprobar si una cierta tecla está pulsada, haciendo cosas como "if ( Hardware.TeclaPulsada(Hardware.TECLA_ESC) ) ..."
Compiladores y otras herramientas necesarias
Para no necesitar usar Visual Studio, que es de gran tamaño y relativamente lento (incluso en su versión Express), se puede emplear como compilador Mono, que se puede descargar libremente de
http://www.mono-project.com.
En un fuente sencillo, para compilar con Mono bastaría teclear "mcs fuente.cs"; como en este caso se trata de varios fuentes, de un fichero DLL, etc., se puede usar el fichero COMPILA.BAT. Si no hay problemas en la compilación, se puede usar EJECUTA.BAT para copiar el ejectuable a su carpeta y lanzarlo.
El resto de ficheros necesarios (DLL, tipos de letra, imágenes) se encuentran formando parte del fichero ZIP que contiene todo lo necesario para compilar y probar el juego.
Fuente del fichero "Juego.cs" para esta primera entrega
Código: Seleccionar todo
/**
* Juego: Lógica de juego
*
* @see Hardware
* @author 1-DAI IES San Vicente 2009/10
*/
/* --------------------------------------------------
Parte de Death Pit - Remake
Versiones hasta la fecha:
Num. Fecha Por / Cambios
---------------------------------------------------
0.01 xx-Oct-2009 Nacho Cabanes
Versión inicial: muestra una imagen
---------------------------------------------------- */
public class Juego
{
private static void Main()
{
// Variables que usaremos: una imagen y un tipo de letra
ElemGrafico imagenPersonaje;
Fuente fuente18;
// Inicializo modo grafico 800x600 puntos, 24 bits de color
Hardware.Inicializar(800, 600, 24);
// Cargo imagenes y tipos de letra
imagenPersonaje = new ElemGrafico("imagenes/personaje.png");
fuente18 = new Fuente("FreeSansBold.ttf", 18);
// Dibujo el personaje y un texto en la pantalla oculta
imagenPersonaje.MoverA(380,300);
imagenPersonaje.DibujarOculta();
Hardware.EscribirTextoOculta(
"Pulsa ESC para salir",
300, 500, 0xAA, 0xAA, 0xAA, fuente18);
// Finalmente, muestro en pantalla
Hardware.VisualizarOculta();
// Y espero a que se pulse ESC
do {
// No hacer nada, solo esperar
} while (! Hardware.TeclaPulsada(Hardware.TECLA_ESC) );
}
} /* fin de la clase Juego */
---
Para más detalles, ver el fuente con colores, o descargar el fichero ZIP que contiene todo, podeis hacerlo desde aquí:
http://www.nachocabanes.com/videojuegos ... hpit01.php