Librería SDL

Revisión del 12:31 6 dic 2011 de Inesmaria ssp.jc (discusión | contribuciones) (Fuente)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Librería SDL
Información sobre la plantilla
SDL title.jpg
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 utilizas Windows, Linux o cualquier otro sistema operativo, SDL te va a ahorrar 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 nos 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. Los necesitamos para saber si el jugador quiere mover la nave a la izquierda o por el contrario quiere hacer un disparo. Básicamente nos va a permitir conocer el estado del teclado y del ratón en cualquier momento.

CD-ROM

SDL nos permite el acceso a todas las funciones del CD-ROM. Las posibilidades son muy atractivas. Por ejemplo, si distribuyes tu 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 nos 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 nuestro 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, podemos contar 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 deseemos en una superficie utilizando la fuente de letra que queramos.
  • 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 http://www.libsdl.org. 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