Mostrando entradas con la etiqueta C. Mostrar todas las entradas
Mostrando entradas con la etiqueta C. Mostrar todas las entradas

Programación con SDL (III)


Aquí tenemos otro ejemplo de utilización de la librería SDL. En esta ocasión vamos a mover una imagen por la ventana. Además utilizaremos la técnica del doble buffer.

Para ello, nos basaremos en el ejemplo del post anterior, al que añadiremos una imagen que se repetirá por todo el fondo de la pantalla, y la captura del cursor del teclado para el movimiento de la imagen.


Si quieres descargarte el código fuente pulsa aquí.

Programación con SDL (II)


Aquí os dejo otro ejemplo de utilización de la librería SDL. En esta ocasión vamos a cargar una imagen en la ventana.

Para ello, crearemos una variable del tipo SDL_Rect para poder posicionar la imagen dentro de la ventana y un puntero a una variable del tipo SDL_Surface que almacena la imagen a mostrar.

La imagen la que cargaremos con la función SDL_LoadBMP, además utilizaremos la función SDL_SetColorKey, para el uso de transparencias.


Para terminar mostramos la imagen en la ventana utilizando la función SDL_BlitSurface, en la que indicaremos la imagen a insertar, el puntero a la pantalla y la posición en la que ubicaremos la imagen dentro de la pantalla.



Si quieres descargarte el código fuente pulsa aquí.

Programación con SDL


Para empezar explicaré que es Simple DirectMedia Layer (SDL). Es un conjunto de librerías multimedia, que se distribuye bajo la licencia LGPL, y proporcionan funciones para ofrecer acceso a bajo nivel de audio, teclado, ratón, joystick, hardware 3D mediante OpenGL, y framebuffer 2D de vídeo.

Además se han desarrollado una serie de librerías adicionales que complementan las funcionalidades.
  • SDL Mixer: Extiende las capacidades de SDL para la gestión y uso de sonido y música en aplicaciones y juegos. Es compatible con formatos de sonido como Wave, MP3 y OGG, y formatos de música como MOD, S3M, IT, y XM. 
  • SDL Image: Extiende notablemente las capacidades para trabajar con diferentes formatos de imagen. Los formatos compatibles son los siguientes: BMP, JPEG, TIFF, PNG, PNM, PCX, XPM, LBM, GIF, y TGA, 
  • SDL Net: Proporciona funciones y tipos de dato multiplataforma para programar aplicaciones que trabajen con redes. 
  • 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.
Una vez terminada la introducción, vamos a crear el primer programa con SDL, y como no podía ser otro crearemos el "Hola Mundo".


Para simplificar la compilación he creado el siguiente makefile.

Si quieres descargarte el código fuente pulsa aquí.

Conectar con una BD de SQLite en C


Para empezar explicaré que SQLite es una BD transacional bajo la forma de una librería que se embebe en las aplicaciones, sin necesidad de contar con un servidor y sin configuración.

El programa utiliza la funcionalidad de SQLite a través de llamadas simples a funciones. De esta forma se reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados en un sólo fichero en la máquina.

Bueno una vez terminada la introducción y antes de empezar deberemos instalar el paquete "libsqlite3-dev" para poder desarrollar en C. Para ello, desde la consola ejecutaremos:
$ sudo apt-get install libsqlite3-dev

Ahora ya estamos preparados para conectarnos a una base de datos SQLite desde C. Aquí os dejo un código de ejemplo:


Para compilarlo ejecuta:
$ gcc SQLite.c -lsqlite3

Si quieres descargarte el código fuente pulsa aquí.