En esta parte del curso ya debemos tener instalado el Code::Blocks, las librerías SFML y haber probado con el
compilador g++ un programa sencillo. El siguiente paso es configurar un proyecto de Code::Blocks para que empecemos a compilar y ejecutar programas con las librerías SFML.
Lo primero que vamos hacer es crear un nuevo proyecto en Code::Blocks y agregarle un archivo fuente. En este
link está paso a paso como hacerlo.
En Code::Blocks le damos click a crear nuevo proyecto, proyecto vacío, siguiente, le damos nombre al proyecto ejemplo: ProySFML, siguiente y finalizar.
Creado el proyecto su nombre aparecerá en el Workspace. A continuación agregamos el archivo fuente donde vamos a escribir el programa SFML que mostrara una ventana sencilla y vacía donde después dibujaremos algunas figuras.La ventana va ser nuestro lienzo donde vamos a plasmar nuestras ideas.
Para agregar el archivo: File>New>Empty file
Desea agregar este nuevo archivo al proyecto activo? le damos sí
escribimos un nombre al archivo con extensión cpp ejemplo: ventana.cpp guardamos y aceptamos la múltiple selección de Debug y Release.
Vamos a crear una ventana básica de dibujo con la clase especializada
Window sf::RenderWindow
y vamos a crear el bucle típico con la estrategia obligatoria de limpiar-dibujar-mostrar (clear-Draw-Display). De esta forma no vamos a tener problemas. A continuación el programa completo que debemos copiar y que mas adelante explicaremos en detalle, por lo momentos nos interesa que se pueda compilar-enlazar y ejecutar con Code::Blocks.
La mayoría de los programas SFML tienen la estructura del programa siguiente:
#include <SFML/Graphics.hpp>
int main()
{
// cramos la ventana de 800x600 pixeles
sf::RenderWindow window(sf::VideoMode(800, 600), "Ventana Render");
// ejecutar el programa mientras la ventana esté abierta
while (window.isOpen())
{
//verificamos todos los eventos de la ventana
sf::Event event;
while (window.pollEvent(event))
{
// "cierre solicitado" evento: cerramos la ventan
if (event.type == sf::Event::Closed)
window.close();
}
// limpiamos la ventana con el color negro
window.clear(sf::Color::Black);
// aqui dibujamos todo lo que queramos
// window.draw(...);
// finalizamos el ciclo actual
window.display();
}
return 0;
}
A continuación compilamos y enlazamos con Build (Ctrl+F9) y veremos varios
mensajes de error de referencia indefinida, aquí nos detenemos para configurar el proyecto para que funcione correctamente con SFML.
Para solucionarlo debemos vincular las librerías y directorios de SFML con el proyecto actual en Code::Blocks. Para ello le damos clic a Project ->> Build options... y vamos a realizar el siguiente proceso tanto para Debug y Release:
Debug y Release:
Linker Setting:
Add library :
sfml-graphics
sfml-window
sfml-system
.....la librería que haga falta sonido etc.
Search directories:
Add directory-Compiler:
/usr/local/include
Add directory-Linker:
/usr/local/lib
Compiler settings:
#defines:
SFML_STATIC
Al terminar con Debug le damos aceptar y hacemos exactamente lo mismo con Release.
A continuación compilamos y enlazamos con
Build (Ctrl+F9) y si todo esta bien (
0 error) le damos
Run (Ctrl+F10) y veremos nuestra ventana de 800x600 píxeles.
A continuación el detalle de como configurar el proyecto Code::Blocks para que trabaje con SFML
Buscamos las opciones de construcción del proyecto:
Le damos aceptar y repetimos los paso seleccionando Release...
Comentarios
Publicar un comentario