Librería SDL

Librería SDL
Información sobre la plantilla
SDL title.jpg
Simple DirectMedia Layer
DesarrolladorSam Lantinga
Diseñado porSam Lantinga
GéneroAPI
Sistemas Operativos compatiblesmultiplataforma
LicenciaGNU Lesser General Public License
Sitio web
http://www.libsdl.org

SDL. Es el acrónimo de Simple DirectMedia Layer, y ofrece una API completa para el desarrollo de juegos, demos y todo tipo de aplicaciones multimedia con independencia del sistema operativo y la plataforma. Tanto si se utiliza Windows, Linux o cualquier otro sistema operativo, SDL ahorra un montón de trabajo y de dolores de cabeza a la hora de desarrollar un video juego tanto en 2D como en 3D.

Sistemas operativos que soporta SDL

Actualmente SDL soporta Linux, Windows, BeOS, MacOS, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, y IRIX. Aunque tiene portes no oficiales a Windows CE, AmigaOS, Atari, QNX, NetBSD, AIX, OSF/Tru64, y SymbianOS. SDL está compuesto por varios subsistemas separados que ofrecen soporte a diferentes partes del hardware.

Subsistemasde SDL

Subsistema de video

Es la interfaz con el hardware de video. Permite operaciones básicas como la inicialización de modos gráficos, trabajo con colores y paletas de color, manejo de surfaces, colores transparentes, alpha blending y otras.

Subsistema de audio

Es el subsistema encargado de todo lo que tenga que ver con la reproducción de sonidos. Permite reproducir archivos .wav de forma relativamente sencilla.

Subsistema de manejo de eventos

Los eventos son la base de la interactividad. Se necesitan para saber si el jugador quiere mover la nave a la izquierda o por el contrario quiere hacer un disparo. Básicamente va a permitir conocer el estado del teclado y del ratón en cualquier momento.

CD-ROM

SDL permite el acceso a todas las funciones del CD-ROM. Por ejemplo, si se distribuye un juego en CD, éste puede tener una pista sonora y reproducirla en background mientras el jugador juega.

Threads

Las multitareas permiten ejecutar múltiples programas al mismo tiempo. La idea de thread (hilo en español) es similar. Son pequeños procesos que se lanzan simultáneamente, pero que pertenecen a un mismo programa padre. Por ejemplo, un juego puede tener un thread encargado de reproducir una música y otro que va calculando la posición de los enemigos. Cada sistema operativo ofrece su propia forma de trabajar con los threads, pero SDL se jacta de ofrecer una API multiplataforma para manejo de threads.

Timers

SDL ofrece acceso a timers de alta resolución para hacer que un juego trabaje a la misma velocidad con independencia de la máquina en la que se ejecute.

Librerías auxiliares de SDL

Además de las funciones que forman la librería SDL, se cuenta con una serie de librerías externas que brindan suficiente ayuda a la hora de programar un juego. Las cuatro librerías auxiliares más habituales son:

  • SDL_image: Contiene una única función que permite trabajar con múltiples formatos gráficos (BMP, PNM, XPM, LBM, PCX, GIF, JPG, PNG y TGA).
  • SDL_ttf: Permite dibujar el texto que se desee en una superficie utilizando cualquier fuente de letra.
  • SDL_mixer: Se utiliza para la reproducción del sonido y la música. Los formatos válidos para la música son WAV, VOC, MOD, S3M, IT, XM, Ogg Vorbis, MP3 y MIDI.
  • SDL_net: Permite la conexión a redes TCP/IP y es utilizada para crear juegos multijugador en red.


Instalación de SDL

La dirección web oficial del proyecto SDL es DirectMedia Layer Allí se puede encontrar gran cantidad de información, documentación y aplicaciones desarrolladas con SDL. Las direcciones directas para descargar SDL y sus librerías auxiliares son:

Fuente