Looking for sfml Answers? Try Ask4KnowledgeBase
Looking for sfml Keywords? Try Ask4Keywords

sfmlErste Schritte mit sfml


Bemerkungen

SFML ist Multimedia

SFML bietet eine einfache Schnittstelle zu den verschiedenen Komponenten Ihres PCs, um die Entwicklung von Spielen und Multimedia-Anwendungen zu erleichtern. Es besteht aus fünf Modulen: System, Fenster, Grafik, Audio und Netzwerk.

Erfahren Sie mehr über ihre Funktionen in den Lernprogrammen und der API-Dokumentation .

SFML ist Multiplattform

Mit SFML kann Ihre Anwendung unter den häufigsten Betriebssystemen kompiliert und ausgeführt werden: Windows, Linux, Mac OS X und bald auch Android und iOS.

Auf der Download-Seite stehen vorkompilierte SDKs für Ihr bevorzugtes Betriebssystem zur Verfügung.

SFML ist mehrsprachig

SFML hat offizielle Bindungen für die Sprachen C und .Net. Dank seiner aktiven Community ist es auch in vielen anderen Sprachen wie Java, Ruby, Python, Go und anderen verfügbar.

Weitere Informationen dazu finden Sie auf der Bindungsseite .

Versionen

Ausführung Veröffentlichungsdatum
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

Installation oder Setup

  • Speichern Sie es an einem beliebigen Ort in Ihrem Computer, wo Sie leicht darauf zugreifen können.
  • Codeblocks öffnen.
  • Gehen Sie zu Projekt-> Erstellungsoptionen-> LinkerSettings-Registerkarte.
  • Klicken Sie auf die Schaltfläche Hinzufügen und wechseln Sie in den bin-Ordner von SFML. Wählen Sie alle dort vorhandenen Dateien aus.
  • Gehen Sie nun zur Registerkarte "Verzeichnisse durchsuchen" und fügen Sie den Ordner "include" von SFML hinzu.
  • Klicken Sie auf derselben Registerkarte auf die Unterregisterkarte Linker-Einstellungen, und fügen Sie den Ordner "bin" hinzu.

Grundlegendes SFML-Programm

Wenn alles korrekt eingerichtet wurde, zeigt der folgende Ausschnitt ein Fenster mit dem Titel "SFML works!" mit einem grünen Kreis:

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

Hallo Welt in einem SFML-Fenster

Lassen Sie uns ein kleines Programm schreiben, das ein Fenster öffnet, und "Hello World" auf dem Bildschirm.

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

Lass uns erklären, was wir dort gemacht haben.

Zuerst haben wir ein sf::Font Objekt erstellt. Wir benötigen dieses Objekt, um die Schriftdaten zu speichern, die wir zur Anzeige des Textes verwenden werden. Danach haben wir die loadFromFile Methode loadFromFile , mit der die Schriftart in den Speicher geladen wird. Beachten Sie, dass SFML Ihre Systemzeichensätze nicht kennt. Daher müssen Sie einen Dateinamen und keinen Namen für die Schriftart angeben

Danach haben wir ein sf::Text Objekt erstellt. Wir rufen einen 3-Parameter-Konstruktor auf, der Folgendes übernimmt:

  • Die Zeichenfolge, die Sie anzeigen möchten
  • Die Schriftart, die das Objekt verwenden wird
  • Die Zeichengröße in Pixel, die wir hier nicht übergeben haben, wird auf den Standardwert gesetzt: 30

Da das sf::Text Objekt fertig ist, müssen Sie es nur in der sfml-Hauptschleife zeichnen, indem Sie die draw-Methode für das zuvor erstellte sfmlWin Renderfensterobjekt aufrufen

Installation - macOS

Zunächst müssen Sie das SFML-SDK herunterladen. Um mit der Entwicklung von SFML-Anwendungen beginnen zu können, müssen Sie die folgenden Elemente installieren:

Header-Dateien und Bibliotheken

SFML ist entweder als dylibs oder als Frameworks verfügbar. Es ist nur ein binärer Typ erforderlich, obwohl beide gleichzeitig auf demselben System installiert werden können. Wir empfehlen die Verwendung der Frameworks.

Frameworks

  • Kopieren Sie den Inhalt von Frameworks nach / Library / Frameworks.

Dylib

  • Kopieren Sie den Inhalt von lib nach / usr / local / lib und kopieren Sie den Inhalt von include nach / usr / local / include.

SFML-Abhängigkeiten

SFML hängt von einigen externen Bibliotheken unter Mac OS X ab. Kopieren Sie den Inhalt von extlibs nach / Library / Frameworks.

Xcode-Vorlagen

Wenn Sie Xcode verwenden, wird die Installation der Vorlagen dringend empfohlen. Kopieren Sie das SFML-Verzeichnis aus den Vorlagen nach / Library / Developer / Xcode / Templates (erstellen Sie die Ordner, falls diese noch nicht vorhanden sind).

Installation - Linux

Es gibt verschiedene Ansätze für die Installation von SFML unter Linux:

  1. Installieren Sie es direkt aus dem Paket-Repository Ihrer Distribution
  2. Holen Sie sich den Quellcode, erstellen Sie ihn und installieren Sie ihn
  3. Laden Sie das vorkompilierte SDK herunter und kopieren Sie die Dateien manuell

Option 1 ist die bevorzugte; Wenn die Version von SFML, die Sie installieren möchten, im offiziellen Repository verfügbar ist, installieren Sie sie mit Ihrem Paketmanager. Auf Debian würden Sie beispielsweise Folgendes tun:

sudo apt-get install libsfml-dev
 

Option 2 erfordert mehr Arbeit: Sie müssen sicherstellen, dass alle Abhängigkeiten von SFML einschließlich ihrer Entwicklungsheader verfügbar sind. Stellen Sie sicher, dass CMake installiert ist, und führen Sie einige Befehle manuell aus. Daraus ergibt sich ein auf Ihr System zugeschnittenes Paket. Wenn Sie diesen Weg gehen möchten, gibt es ein spezielles Tutorial zum Erstellen von SFML .

Schließlich ist Option 3 eine gute Wahl für die schnelle Installation, wenn SFML nicht als offizielles Paket verfügbar ist. Laden Sie das SDK von der Downloadseite herunter, entpacken Sie es und kopieren Sie die Dateien an den gewünschten Speicherort: entweder einen separaten Pfad in Ihrem persönlichen Ordner (wie / home / me / sfml) oder einen Standardpfad (wie / usr / local).

Wenn Sie bereits eine ältere Version von SFML installiert haben, stellen Sie sicher, dass es keinen Konflikt mit der neuen Version gibt!

Installation - Windows

Die gebräuchlichste Methode zum Installieren von SFML unter Windows ist das Herunterladen des offiziellen SDK

Sie können das Archiv dann auspacken und in Ihrer bevorzugten Umgebung verwenden.

vcpkg

Obwohl es sich noch in der Entwicklung befindet, können Sie, wenn Sie Visual Studio 2017 oder neuer verwenden, SFML auch über vcpkg installieren, das in Visual Studio integriert ist. Dies vereinfacht den Installationsprozess erheblich:

vcpkg install sfml