Szukaj…


Uwagi

SFML to multimedia

SFML zapewnia prosty interfejs do różnych komponentów komputera, aby ułatwić rozwój gier i aplikacji multimedialnych. Składa się z pięciu modułów: system, okno, grafika, audio i sieć.

Odkryj ich funkcje bardziej szczegółowo w samouczkach i dokumentacji API .

SFML jest wieloplatformowy

Dzięki SFML Twoja aplikacja może się kompilować i uruchamiać po wyjęciu z pudełka w najpopularniejszych systemach operacyjnych: Windows, Linux, Mac OS X, a wkrótce także Android i iOS.

Wstępnie skompilowane zestawy SDK dla Twojego ulubionego systemu operacyjnego są dostępne na stronie pobierania .

SFML jest wielojęzyczny

SFML ma oficjalne powiązania dla języków C i .Net. Dzięki aktywnej społeczności jest także dostępny w wielu innych językach, takich jak Java, Ruby, Python, Go i innych.

Dowiedz się więcej o nich na stronie powiązań .

Wersje

Wersja Data wydania
1.0 2007-07-01
1.1 2007-09-18
1.2 2008-07-16
1.3 2008-06-22
1.4 07.01.2009
1.5 2009-06-04
1.6 2010-04-06
2.0 29.04.2013
2.1 2013-07-27
2.2 17.12.2014
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 04.11.2016
2.4.2 08.02.2017

Instalacja lub konfiguracja

  • Zapisz go w dowolnym miejscu na komputerze, aby był łatwo dostępny.
  • Otwórz Codeblocks.
  • Przejdź do Project-> Build Options-> zakładka LinkerSettings.
  • Kliknij przycisk Dodaj i przejdź do folderu bin SFML i wybierz wszystkie znajdujące się tam pliki.
  • Teraz przejdź do karty Katalogi wyszukiwania i dodaj folder „dołącz” w SFML.
  • Na tej samej karcie kliknij podkartę Ustawienia konsolidatora i dodaj folder „bin”.

Podstawowy program SFML

Jeśli wszystko zostało poprawnie skonfigurowane, poniższy fragment pokaże okno zatytułowane „SFML działa!” z zielonym kółkiem:

#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;
}

Instalacja - Linux

Istnieją różne podejścia do instalacji SFML w systemie Linux:

  1. Zainstaluj go bezpośrednio z repozytorium pakietów twojej dystrybucji
  2. Pobierz kod źródłowy, skompiluj go i zainstaluj
  3. Pobierz wstępnie skompilowany zestaw SDK i ręcznie skopiuj pliki

Preferowana jest opcja 1; jeśli wersja SFML, którą chcesz zainstalować, jest dostępna w oficjalnym repozytorium, zainstaluj ją za pomocą menedżera pakietów. Na przykład w Debianie możesz wykonać:

sudo apt-get install libsfml-dev

Opcja 2 wymaga więcej pracy: musisz upewnić się, że wszystkie zależności SFML, w tym ich nagłówki programistyczne, są dostępne, upewnić się, że CMake jest zainstalowany, i ręcznie wykonać niektóre polecenia. W ten sposób powstanie pakiet dostosowany do twojego systemu. Jeśli chcesz iść w tę stronę, znajdziesz dedykowany samouczek na temat samodzielnego budowania SFML .

Wreszcie opcja 3 jest dobrym wyborem do szybkiej instalacji, jeśli SFML nie jest dostępny jako oficjalny pakiet. Pobierz zestaw SDK ze strony pobierania, rozpakuj go i skopiuj pliki do preferowanej lokalizacji: albo osobną ścieżkę w folderze osobistym (jak / home / me / sfml), albo standardową ścieżkę (jak / usr / local).

Jeśli masz już zainstalowaną starszą wersję SFML, upewnij się, że nie będzie w konflikcie z nową wersją!

Instalacja - Windows

Najczęstszym sposobem instalowania SFML w systemie Windows jest pobranie oficjalnego zestawu SDK

Następnie możesz rozpakować archiwum i użyć go w wybranym środowisku.

vcpkg

Chociaż wciąż jest w fazie rozwoju, jeśli używasz Visual Studio 2017 lub nowszej wersji, możesz również zainstalować SFML poprzez vcpkg, który integruje się z Visual Studio, co znacznie upraszcza proces instalacji:

vcpkg install sfml

Insallation - macOS

Przede wszystkim musisz pobrać zestaw SDK SFML. Następnie, aby rozpocząć tworzenie aplikacji SFML, musisz zainstalować następujące elementy:

Pliki nagłówkowe i biblioteki

SFML jest dostępny jako dylibs lub jako framework. Wymagany jest tylko jeden typ pliku binarnego, chociaż oba można zainstalować jednocześnie w tym samym systemie. Zalecamy korzystanie z ram.

Ramy

  • Skopiuj zawartość ram do / Library / Frameworks.

dylib

  • Skopiuj zawartość lib do / usr / local / lib i skopiuj zawartość include do / usr / local / include.

Zależności SFML

SFML zależy od kilku zewnętrznych bibliotek w Mac OS X. Skopiuj zawartość extlibs do / Library / Frameworks.

Szablony Xcode

Jeśli używasz Xcode, zdecydowanie zaleca się instalację szablonów. Skopiuj katalog SFML z szablonów do / Library / Developer / Xcode / Templates (utwórz foldery, jeśli jeszcze nie istnieją).

Witaj świecie w oknie SFML

Napiszmy mały program, który otworzy okno, i napisz „Hello World” na ekranie.

#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;
}

Wyjaśnijmy, co tam zrobiliśmy.

Najpierw stworzyliśmy obiekt sf::Font . Potrzebujemy tego obiektu do przechowywania danych czcionek, które wykorzystamy do wyświetlenia tekstu. Następnie loadFromFile metodę loadFromFile , używaną do ładowania czcionki do pamięci. Należy pamiętać, że SFML nie wie o twoich czcionkach systemowych, dlatego musisz podać nazwę pliku, a nie nazwę czcionki

Następnie stworzyliśmy obiekt sf::Text . Konstruktor 3-parametrowy nazywamy:

  • Ciąg, który chcesz wyświetlić
  • Czcionka, której będzie używał obiekt
  • Rozmiar znaku w pikselach, którego tutaj nie przekazaliśmy, więc zostanie ustawiona domyślna wartość: 30

Ponieważ obiekt sf::Text jest gotowy, wystarczy narysować go w głównej pętli sfml, wywołując metodę draw na sfmlWin okna renderowania sfmlWin , który wcześniej utworzyliśmy



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow