Tutorial SDL + Code Blocks
Autor: José Medina.
Competencia: Gestión del Conocimiento.
Asignatura: Interfaces gráficas.
Este es un pequeño tutorial para todos aquellos que se están iniciando en la programación de vídeojuegos orientado a proporcionar una guía introductoria del como utilizar SDL y principalmente el como instalar SDL la IDE de programación Code Blocks a mi parecer uno de los mejores compiladores del lenguaje C en Windows en comparación a otros conocidos como dev C++ el cual mas de un dolor de cabeza les a dado a mas de alguna persona debido a su falta de actualización y estabilidad en comparación a Code Blocks ademas de la demostracion de su uso mediante ejemplos practicos como la creacion de una imagen y la implementacion de SDL para la simulacion de una so.
¿ Que es SDL ?
SDL fue diseñado para permitir un acceso a bajo nivel a todos los dispositivos de una computadora, es decir, audio, teclado, ratón, joystick y los gráficos de hardware mediante de OpenGl o Direct3D.
Por otro lado SDL se le pueden incorporar componentes adicionales, los que complementan las funcionalidades y capacidades de la biblioteca base a través de :
- SDL Mixer: Permite extender las capacidades de SDL para la gestión y uso de sonido en vídeo juegos (reproducir pistas). Es compatible con formatos de sonido populares tales como MP3, OGG, WAV, entre otros.
- SDL Image: Ayuda a utilizar formatos de imagen en la edición de videojuegos. soportando conocidos formatos de multimedia como BMP, JPEG,TIFF, PNG, PNM, PCX, XPM, LBM, GIF, y TGA.
- SDL Net: Proporciona funciones y tipos de dato multi plataforma para programar aplicaciones que trabajen con redes o impliquen computación paralela.
- SDL RTF: Posibilita el abrir para leer en aplicaciones SDL archivos de texto usando el formato Rich Text Format RTF.
- SDL TTF: Permite usar tipografías TrueType en aplicaciones SDL.
Descarga e instalación Code Blocks
A continuación realizaremos la descarga e instalación de Code Blocks con para ello nos dirigiremos al sitio web oficial de Code Blocks para ello dar clic aqui el menu general nos dirigiremos a descargas, al descargar code blocks para windows se nos presentaran 2 versiones una la cual no incluye el compilador mingw (antiguamente mingw 32) y otra sin mingw, en ese caso se descargara la versión con dicho compilador desde Sourcefourge.net ya que es necesaria en Windows 10 para ejecutar los códigos en SDL desde Code Blocks.
Una ves descargado el instalador en nuestro ordenador procederemos a realizar la instalación de nuestro IDE para ello aplicaremos la regla tradicional del "siguiente siguiente siguiente", ojo cuando se nos pida los componentes instalar los seleccionaremos todos o mejor dicho realizaremos una Full-instalación que incluya MinGW como se puede ver a continuación.
Listo el paso anterior seleccionamos la ruta y Code Blocks quedara instalado y listo para utilizarse en nuestro ordenador.
SDL en Code BLocks
Continuando procederemos a instalar o agregar SDL a nuestro compilador existen varias formas para realizar esto es necesario descargar en el siguiente link, el contenido incluye los dll de compilación de SDL en Windows, dll de imagen, audio y red.
Procedemos a copiar el contenido de la carpeta en la dirección de instalación de nuestro code block en la ruta de la carpeta MinGW reemplazando todo el contenido.
Para finalizar ahora copiaremos el contenido de la carpeta dll en la carpeta Windows dando un total de 13 archivos para agregar incluyendo el ddl de SDL.
Una ves instalado nuestro IDE procederemos a dirigirnos a Settings opción compiler lo cual nos llevara a las opciones generales del compilador.
Captura opciones generales.
Una ves situados sobre las opciones nos situaremos en la pestaña Linker Settings (segunda pestaña), una vez hay nos situaremos en el cuadro de texto Other linker options en donde copiaremos y pegaremos los siguientes comandos:
-lmingw32
-lSDLmain
-lSDL
-lSDL_image
-lSDL_mixer
-lSDL_ttf
Dichos comandos permiten agregar los complementos de manejo de imágenes, audio, red y compilación de SDl mediante MinGW
Finalizado la tarea anterior procederemos a dar clic en OK para cerrar la ventana.
Ejemplo Código SDL
Crearemos un archivo en blanco donde copiaremos y pegaremos el siguiente código para la creación de un pequeño cuadrado.
#include <stdio.h>#include <SDL/SDL.h> void imprimir_rectangulo (SDL_Surface *screen, int x, int y) { SDL_Rect rect = {x, y, 50, 50}; Uint32 a = SDL_MapRGB(screen->format, 255, 200, 100); SDL_FillRect(screen, &rect, a); SDL_UpdateRect(screen, rect.x, rect.y, rect.w, rect.h); } int main(int argc, char *argv[]) { SDL_Surface *screen; SDL_Event event; if (SDL_Init(SDL_INIT_VIDEO) == -1) { printf("Error: %s\n", SDL_GetError()); return 1; } screen = SDL_SetVideoMode(320, 240, 16, SDL_SWSURFACE); if (screen == NULL) { printf("Error: %s\n", SDL_GetError()); return 1; } SDL_WM_SetCaption("Demo SDL", NULL); imprimir_rectangulo(screen, 20, 30); while (SDL_WaitEvent(&event)) { if (event.type == SDL_QUIT) break; } SDL_Quit(); return 0; }
---
Captura ejecución código.
Ejemplo 2: Simulación de una sonda con SDL
Lo siguiente corresponde al contexto de una simulación de un grupo de sondas que transmitirán imagen en vivo desde un planeta distante y capturaran sus componentes químicos antes de perder su energía.
La aplicación debe de :
- Enviar imágenes del recorrido de las sondas al realizar el recorrido en tiempo real en una ventana externa activada al teclear una determinada tecla.
- Capturara los componentes químicos de cada Baldosa y los graficara en una sub ventana.
- Cada sonda contara con una batería que se descargara al avanzar, al llegar a 0 la sonda se detendrá y recargara la batería.
Link Codigo
Reflexión
Reflexión
SDL es una potente herramienta que programación que permite diseñar al "hueso" nuestros códigos para la realización de video juegos dándonos conocimiento y control total de cada linea de código, si bien ya no es tan utilizada debido a la aparición de nuevos motores gráficos muchos mas sencillos de usar sigue siendo una potente herramienta que permite codificar nuestros códigos en cualquier sistema operativo como windows, linux, mac, entre otros de manera fácil e intuitiva, siendo una excelente herramienta de aprendizaje para programadores novatos en el mundo de la programación en 2D.
No hay comentarios:
Publicar un comentario