Sök…


Anmärkningar

SFML är multimedia

SFML tillhandahåller ett enkelt gränssnitt till de olika komponenterna på din PC för att underlätta utvecklingen av spel och multimediaapplikationer. Den består av fem moduler: system, fönster, grafik, ljud och nätverk.

Upptäck deras funktioner mer detaljerat i handledning och API-dokumentation .

SFML är multiplattform

Med SFML kan din applikation kompilera och gå tom för rutan på de vanligaste operativsystemen: Windows, Linux, Mac OS X och snart Android och iOS.

Förkompilerade SDK: er för ditt favorit OS finns tillgängliga på nedladdningssidan .

SFML är flerspråkigt

SFML har officiella bindningar för C- och .Net-språken. Och tack vare sin aktiva community finns den också på många andra språk som Java, Ruby, Python, Go och mer.

Läs mer om dem på bindningssidan .

versioner

Version Utgivningsdatum
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 eller installation

  • Spara det var som helst på din dator där det lätt kan nås.
  • Öppna kodblock.
  • Gå till Project-> Build Options-> LinkerSettings-fliken.
  • Klicka på Lägg till- knappen och gå till bin-mappen i SFML och välj alla filer som finns där.
  • Gå nu till fliken Sökkataloger och lägg till mappen "inkludera" i SFML.
  • På samma flik klickar du på underfliken Linker-inställningar och lägger till "bin" -mappen.

Grundläggande SFML-program

Om allt har konfigurerats korrekt visar följande utdrag ett fönster med titeln "SFML fungerar!" med en grön cirkel:

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

Installation - Linux

Det finns olika sätt att installera SFML på Linux:

  1. Installera det direkt från din distributions paketförråd
  2. Skaffa källkoden, bygg den och installera den
  3. Ladda ner den förkompilerade SDK och kopiera filerna manuellt

Alternativ 1 är det föredragna; om den version av SFML som du vill installera är tillgänglig i det officiella arkivet, installera den med din pakethanterare. Till exempel på Debian skulle du göra:

sudo apt-get install libsfml-dev

Alternativ 2 kräver mer arbete: du måste se till att alla SFML-beroenden inklusive deras utvecklingshuvuden är tillgängliga, se till att CMake är installerat och kör några kommandon manuellt. Detta kommer att resultera i ett paket som är skräddarsytt för ditt system. Om du vill gå detta, finns det en dedikerad självstudie för att bygga SFML själv .

Slutligen är alternativ 3 ett bra val för snabb installation om SFML inte är tillgängligt som ett officiellt paket. Ladda ner SDK från nedladdningssidan, packa upp den och kopiera filerna till önskad plats: antingen en separat sökväg i din personliga mapp (som / home / me / sfml) eller en standardväg (som / usr / local).

Om du redan hade en äldre version av SFML installerad, se till att den inte kommer i konflikt med den nya versionen!

Installation - Windows

Det vanligaste sättet att installera SFML på windows är att ladda ner den officiella SDK

Du kan sedan packa upp arkivet och använda det i din miljö du väljer.

vcpkg

Även om det fortfarande är starkt under utveckling, om du använder Visual studio 2017 eller nyare, kan du också installera SFML via vcpkg som integreras med Visual Studio, vilket förenklar installationsprocessen:

vcpkg install sfml

Insallation - macOS

Först av allt behöver du ladda ner SFML SDK. Sedan måste du installera följande objekt för att börja utveckla SFML-applikationer:

Rubrikfiler och bibliotek

SFML finns antingen som dylibs eller som ramverk. Endast en typ av binär krävs även om båda kan installeras samtidigt på samma system. Vi rekommenderar att du använder ramarna.

ramar

  • Kopiera innehållet i ramverk till / Bibliotek / ramverk.

dylib

  • Kopiera innehållet i lib till / usr / local / lib och kopiera innehållet i include till / usr / local / include.

SFML-beroenden

SFML beror på några externa bibliotek på Mac OS X. Kopiera innehållet i extlibs till / Library / Frameworks.

Xcode-mallar

Om du använder Xcode rekommenderas starkt att installera mallarna. Kopiera SFML-katalogen från mallar till / Bibliotek / Utvecklare / Xcode / Mallar (skapa mapparna om de inte finns ännu).

Hej värld i ett SFML-fönster

Låt oss skriva ett litet program som öppnar ett fönster och skriver "Hello World" på skärmen.

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

Låt oss förklara vad vi gjorde där.

Först skapade vi ett sf::Font objekt. Vi behöver detta objekt för att lagra teckensnittdata som vi kommer att använda för att visa texten. Efter det kallade loadFromFile metoden loadFromFile , som används för att ladda teckensnittet i minnet. Vi bör notera att SFML inte vet om dina systemteckensnitt, så du måste ange ett filnamn, inte ett fontnamn

Efter det skapade vi ett sf::Text objekt. Vi kallar en 3-parameterkonstruktör som tar:

  • Strängen du vill visa
  • Teckensnittet som objektet kommer att använda
  • Teckenstorleken i pixel, som vi inte har passerat här, så jag kommer att ställas in på standardvärdet: 30

Eftersom sf::Text objektet är klart, behöver vi bara rita det i huvud sfml-slingan genom att kalla sfmlWinsfmlWin fönsterobjektet som vi skapade tidigare



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow