sfml Tutorial
Empezando con sfml
Buscar..
Observaciones
SFML es multimedia
SFML proporciona una interfaz simple para los diversos componentes de su PC, para facilitar el desarrollo de juegos y aplicaciones multimedia. Está compuesto por cinco módulos: sistema, ventana, gráficos, audio y red.
Descubra sus características con más detalle en los tutoriales y la documentación de la API .
SFML es multiplataforma
Con SFML, su aplicación puede compilar y ejecutarse de manera inmediata en los sistemas operativos más comunes: Windows, Linux, Mac OS X y pronto Android y iOS.
Los SDK precompilados para su sistema operativo favorito están disponibles en la página de descarga .
SFML es multi-idioma
SFML tiene enlaces oficiales para los lenguajes C y .Net. Y gracias a su comunidad activa, también está disponible en muchos otros lenguajes como Java, Ruby, Python, Go y más.
Obtenga más información sobre ellos en la página de enlaces .
Versiones
Versión | Fecha de lanzamiento |
---|---|
1.0 | 2007-07-01 |
1.1 | 2007-09-18 |
1.2 | 2008-07-16 |
1.3 | 2008-06-22 |
1.4 | 2009-01-07 |
1.5 | 2009-06-04 |
1.6 | 2010-04-06 |
2.0 | 2013-04-29 |
2.1 | 2013-07-27 |
2.2 | 2014-12-17 |
2.3 | 2015-05-09 |
2.3.1 | 2015-07-11 |
2.3.2 | 2015-10-12 |
2.4.0 | 2016-08-10 |
2.4.1 | 2016-11-04 |
2.4.2 | 2017-02-08 |
Instalación o configuración
- Primero, descargue una copia de SFML de la página oficial .
- Guárdelo en cualquier lugar de su computadora donde se pueda acceder fácilmente.
- Abrir Codeblocks.
- Vaya a Proyecto-> Opciones de compilación-> pestaña Configuraciones de enlazador.
- Haga clic en el botón Agregar y vaya a la carpeta bin de SFML y seleccione todos los archivos presentes allí.
- Ahora vaya a la pestaña Directorios de búsqueda y agregue la carpeta 'include' de SFML.
- En la misma pestaña, haga clic en la subpestaña Configuración de vinculador y agregue la carpeta 'bin'.
Programa básico de SFML
Si todo se configuró correctamente, el siguiente fragmento mostrará una ventana titulada "¡SFML funciona!" con un circulo verde:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Instalación - Linux
Existen diferentes enfoques para la instalación de SFML en Linux:
- Instálalo directamente desde el repositorio de paquetes de su distribución.
- Obtener el código fuente, construirlo e instalarlo
- Descarga el SDK precompilado y copia manualmente los archivos.
La opción 1 es la preferida; Si la versión de SFML que desea instalar está disponible en el repositorio oficial, instálela con su administrador de paquetes. Por ejemplo, en Debian harías:
sudo apt-get install libsfml-dev
La opción 2 requiere más trabajo: debe asegurarse de que todas las dependencias de SFML, incluidos sus encabezados de desarrollo, estén disponibles, asegurarse de que CMake esté instalado y ejecutar manualmente algunos comandos. Esto resultará en un paquete que se adapta a su sistema. Si quieres ir por este camino, hay un tutorial dedicado sobre cómo construir SFML tú mismo .
Finalmente, la opción 3 es una buena opción para una instalación rápida si SFML no está disponible como paquete oficial. Descargue el SDK de la página de descarga, descomprímalo y copie los archivos en su ubicación preferida: ya sea una ruta separada en su carpeta personal (como / home / me / sfml), o una ruta estándar (como / usr / local).
Si ya tenías instalada una versión anterior de SFML, ¡asegúrate de que no entre en conflicto con la nueva versión!
Instalación - Windows
La forma más común de instalar SFML en Windows es descargar el SDK oficial
Luego, puede descomprimir el archivo y utilizarlo en el entorno de su elección.
vcpkg
Aunque aún está en desarrollo, si usa Visual studio 2017 o más reciente, también puede instalar SFML a través de vcpkg que se integra con Visual Studio, simplificando enormemente el proceso de instalación:
vcpkg install sfml
Instalación - macOS
En primer lugar, necesita descargar el SDK de SFML. Luego, para comenzar a desarrollar aplicaciones SFML, debe instalar los siguientes elementos:
Archivos de cabecera y bibliotecas
SFML está disponible como dylibs o como marcos. Solo se requiere un tipo de binario, aunque ambos pueden instalarse simultáneamente en el mismo sistema. Recomendamos el uso de los marcos.
Marcos
- Copie el contenido de Frameworks a / Library / Frameworks.
dylib
- Copie el contenido de lib en / usr / local / lib y copie el contenido de include en / usr / local / include.
Dependencias SFML
SFML depende de unas pocas bibliotecas externas en Mac OS X. Copie el contenido de extlibs en / Library / Frameworks.
Plantillas de Xcode
Si utiliza Xcode, se recomienda encarecidamente instalar las plantillas. Copie el directorio SFML de las plantillas a / Library / Developer / Xcode / Templates (cree las carpetas si todavía no existen).
Hola mundo en una ventana de SFML
Escribamos un pequeño programa que abra una ventana y escribamos "Hello World" en la pantalla.
#include <SFML\Graphics.hpp>
#include <cassert>
int main() {
sf::RenderWindow sfmlWin(sf::VideoMode(600, 360), "Hello World SFML Window");
sf::Font font;
//You need to pass the font file location
if (!font.loadFromFile(/*
Put the filename that identify the font file you want to load*/"myfont.ttf")) {
return -1;
}
sf::Text message("Hello, World !", font);
while (sfmlWin.isOpen()) {
sf::Event e;
while (sfmlWin.pollEvent(e)) {
switch (e.type) {
case sf::Event::EventType::Closed:
sfmlWin.close();
break;
}
}
sfmlWin.clear();
sfmlWin.draw(message);
sfmlWin.display();
}
return 0;
}
Vamos a explicar lo que hicimos allí.
Primero, creamos un objeto sf::Font
. Necesitamos este objeto para almacenar los datos de fuente que usaremos para mostrar el texto. Después de eso, llamamos al método loadFromFile
, usado para cargar la fuente en la memoria. Debemos tener en cuenta que SFML no conoce las fuentes de su sistema, por lo que debe proporcionar un nombre de archivo, no un nombre de fuente
Después de eso, creamos un objeto sf::Text
. Llamamos a un constructor de 3 parámetros tomando:
- La cadena que desea mostrar
- La fuente que utilizará el objeto
- El tamaño del carácter en píxeles, que no pasamos aquí, se ajustará al valor predeterminado: 30
Ya que el objeto sf::Text
está listo, solo necesitamos dibujarlo en el bucle sfml principal, llamando al método de dibujo en el objeto de la ventana de render sfmlWin
que creamos antes