SFML to prosta, otwarta i szybka biblioteka programistyczna, która działa na wielu platformach. Biblioteka ta służy przede wszystkim do pisania gier, wykorzystując akcelerację sprzętową 2D przy użyciu OpenGL. Jest napisana w C++, ale może być również wykorzystywana w językach takich jak C, .Net, Python czy Java. Biblioteka SFML składa się z następujących modułów:
- System – obsługa czasu i wątków.
- Window – obsługa okien i interakcji z użytkownikiem.
- Graphics – obsługa grafiki i jej renderowanie na ekranie.
- Audio – obsługa muzyki i dźwięków.
- Network – obsługa komunikacji sieciowej.
Aby rozpocząć pracę z biblioteką SFML, należy pobrać jej pliki ze strony internetowej i wypakować je do folderu roboczego (np. workspace). Dzięki temu łatwiej będzie podlinkować bibliotekę do projektu i utrzymać porządek. Link do pobrania plików znajduje się na stronie biblioteki SFML.
Pobranie SFML
Link do strony.
Aby rozpocząć pracę z biblioteką SFML, należy pobrać jej pliki ze strony internetowej i wypakować je do folderu roboczego (np. workspace). Dzięki temu łatwiej będzie podlinkować bibliotekę do projektu i utrzymać porządek. Link do pobrania plików znajduje się na stronie biblioteki SFML.
Dodawanie nowego projektu Visual Studio 2015
Wybieramy C++
projekt win32
jako Console Application
, następnie zaznaczamy Empty Project
i Odznaczamy SDL.
Następnie add new item i dodajemy plik main.cpp
Konfiguracja i dodawanie bibliotek.
Jeśli katalog z bibliotekami o nazwie SFML będzie różnorzędny z katalogiem projektu stworzonym przez VS to następnie w projekcie wybieramy Property
i C++->General
w Additional Include Directories
wpisujemy: $(SolutionDir)\..\SFML\include;
to znaczy że z pozycji katalogu projektu wycofamy się o jedną gałąź drzewa i wejdziemy do kolejnych katalogów.
Następnie przechodzimy do Linker
i General Additional Library Directories wpisujemy
$(SolutionDir)\..\SFML\lib;
Teraz należy przejść do Input
w liknerze i dodać wpisy w Additional Dependiencies
dla debug:
sfml-main-d.lib sfml-graphics-d.lib sfml-window-d.lib sfml-system-d.lib sfml-audio-d.lib opengl32.lib freetype.lib jpeg.lib winmm.lib gdi32.lib
To wszystko, teraz można korzystać z bibliotek SFML.
Przykładowy kod do umieszczenia w main.cpp
#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;
}
Wynik kodu: