Biblioteca multimedia simple y rápida | |
---|---|
Tipo de | API |
Desarrollador | laurent gomila |
Escrito en | C++ |
Sistema operativo | multiplataforma |
ultima versión | 2.5.1 |
Licencia | Licencia zlib |
Sitio web | sfml-dev.org |
SFML ( English Simple and Fast Multimedia Library - una biblioteca multimedia simple y rápida) es una biblioteca multimedia multiplataforma gratuita . Escrito en C++ , pero también disponible para C , C# , .Net , D , Java , Python , Ruby , OCaml , Go y Rust . [1] Es un análogo orientado a objetos de SDL . [2]
SFML contiene una serie de módulos para una fácil programación de juegos y aplicaciones multimedia. El código fuente de la biblioteca se proporciona bajo la licencia zlib/png . [3]
Actualmente están disponibles los siguientes módulos:
El siguiente código C++ demuestra la aplicación SFML más simple (muestra una ventana y rellénala con azul):
// Incluya el encabezado del módulo Gráficos y automáticamente incluirá el encabezado del módulo Ventana #include <SFML/Graphics.hpp> int principal () { // crear ventana sf :: aplicación RenderWindow ( sf :: VideoMode ( 800 , 600 , 32 ), "Hello World - SFML" ); // bucle while principal ( aplicación . isOpen ()) { // comprueba si hay eventos (clic de botón, cierre de ventana, etc.) sf :: Event event ; while ( aplicación . pollEvent ( evento )) { // si el evento es "cierre de ventana": if ( evento . tipo == sf :: Evento :: Cerrado ) // cerrar la ventana de la aplicación . cerrar (); } // Limpia la pantalla y llénala con la aplicación azul . claro ( sf :: Color ( 0 , 0 , 255 )); // mostrar en la aplicación de pantalla . mostrar (); } devolver 0 ; }Un ejemplo de código C (mostrando una ventana y llenándola de blanco):
#include <SFML/Graphics.hpp> int principal () { modo sfVideoMode = { 480 , 320 , 32 }; sfRenderWindow * ventana ; evento sfEvent ; ventana = sfRenderWindow_create ( modo , "¡Hola, mundo!" , sfResize | sfClose , NULL ); while ( sfRenderWindow_isOpen ( ventana )) { while ( sfRenderWindow_pollEvent ( ventana y evento ) ) { if ( evento . tipo == sfEvtClosed ) sfRenderWindow_close ( ventana ); } sfRenderWindow_clear ( ventana , sfWhite ); sfRenderWindow_display ( ventana ); } sfRenderWindow_destroy ( ventana ); devolver 0 ; }