LibSDL
De Wikipedia, la enciclopedia libre
LibSDL es conjunto de librerías desarrolladas con el lenguaje C que proporcionan funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido y música, y carga y gestión de imágenes. SDL es una abreviatura en inglés de Simple DirectMedia Layer.
Pese a estar programado en C, tiene wrappers a otros lenguajes de programación como C++, Ada, C#, Basic, Lua, Java, Python, etc. También proporciona herramientas para el desarrollo de videojuegos y aplicaciones multimedia. Una de sus grandes virtudes es el tratarse de una librería multiplataforma, soportando oficialmente los sistemas windows, linux, MacOS y QNX, además de otras arquitecturas/sistemas como Dreamcast, GP32, GP2X… De ahí le vienen las siglas Simple Directmedia Layer que más o menos alude a capa de abstracción multimedia. Desarrolladas inicialmente por Sam Lantinga, desarrollador de videojuegos para la plataforma linux.
La librería se distribuye bajo la licencia LGPL, que es la que ha provocado el gran avance y evolución de las SDL.
Tabla de contenidos |
[editar] Componentes adicionales
Se han desarrollado una serie de librerías adicionales que complementan las funcionalidades y capacidades de la librería base.
- SDL_Mixer: Extiende las capacidades de SDL para la gestión y uso de sonido y música en aplicaciones y juegos. Soporta 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 soportados 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 fuentes TrueType en aplicaciones SDL.
[editar] Bindings
- Ada
- BASIC (sdlBasic)
- C#
- D (Derelict)
- Eiffel
- Erlang
- Euphoria
- Guile
- Haskell (HSDL)
- Java
- Lisp
- Lua
- ML
- Objective C
- Pascal
- Perl
- PHP
- Pike
- Pliant
- Python (pygame)
- Ruby
[editar] .NET Binding
SDL.NET es un binding .NET orientado a objeto compatible con CLS para las SDL escrito por David Y. Hudson. Provee un acceso de alto nivel a las funciones de audio, teclado, ratón, joystick, fuentes TrueType, varios formatos de imagen, mezcla de sonido, películas en MPEG-1 y hardware 3D mediante OpenGL y framebuffer 2D de video.
[editar] Ejemplos
Ejemplo de inialización de las SDL en C.
#include#include "SDL.h" main(int argc, char *argv[]) { if ( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) { fprintf(stderr, "No se puede iniciar SDL: %sn", SDL_GetError()); exit(1); } atexit(SDL_Quit); ... }
[editar] Lectura de un joystick
Ejemplo de lectura de un joystick empleando SDL.
[editar] Enlaces externos
- www.libSDL.org – Página oficial de las SDL.
- www.libSDL.es – La Comunidad SDL en Español.
- SDL_Mixer – Página oficial de SDL_Mixer.
- SDL_Image – Página oficial de SDL_Image.
- SDL_Net Página oficial de SDL_Net
- SDL_Rtf Página principal de SDL_RTF
- SDL_Ttf Página oficial de SDL_TTF
- Página oficial de SDL_gfx
- Página oficial de zlib
- Página oficial de libpng
- [1] – Un sitio para descargar jpegsrc
- PyGame – Wrapper para Python de las librerías SDL
- GamesCreators – Página y foro dedicado a SDL (ingles y español)