SFML

Wikipediasta
Siirry navigaatioon Siirry hakuun
Simple and Fast Multimedia Library
Kehittäjä Laurent Gomila
Kehityshistoria
Ensijulkaisu heinäkuu 2007
Vakaa versio 2.6.1 ()[1]
Tiedot
Ohjelmistotyyppi Ohjelmointirajapinta
Alusta Linux, macOS, Windows
Ohjelmointikielet C++
Lisenssi zlib/png
Aiheesta muualla
sfml-dev.org
Versiohallinta

SFML (Simple and Fast Multimedia Library, suom. Yksinkertainen ja nopea multimediakirjasto) on helppokäyttöinen ja monialustainen ohjelmointirajapinta multimediaohjelmointiin. SFML on kirjoitettu C++:lla, mutta sitä voi käyttää muidenkin ohjelmointikielten kanssa, kuten C, C#, D, Euphoria, Go, Haskell, Java(kehitys keskeytetty), OCaml, Pascal, Python, Ruby, Rust, ja Visual Basic. SFML voidaan sanoa oliopohjaiseksi vaihtoehdoksi SDL-kirjastolle.

SFML tarjoaa laitteistokiihdytetyn tuen 2D-grafiikalle käyttäen OpenGL:ää sekä useita moduuleita helpottamaan erityisesti pelien ja multimedian ohjelmointia. SFML-piirtokontekstit ovat aina OpenGL-konteksteja, joten niihin voidaan piirtää SFML:n omien funktioiden lisäksi myös suoraan myös OpenGL-komennoilla.

Kirjasto on saatavilla Linuxille, macOS:lle ja Windowsille 32- ja 64-bittisille versioille.[2]

SFML on lisensoitu avoimen lähdekoodin zlib/png-lisenssillä.[3]

Tällä hetkellämilloin? saatavilla olevat moduulit ovat:

  • Järjestelmämoduuli (System) Vastaa ohjelman ajan ja koodin rungon toiminnasta.
  • Ikkunamoduuli (Window) Vastaa ikkunoista ja käyttäjän vuorovaikutuksesta.
  • Grafiikkamoduuli (Graphics) Helpottaa yksinkertaisten muotojen ja kuvien esittämistä.
  • Audiomoduuli (Audio) Tarjoaa käyttöliittymän äänien ja musiikkien hallintaan.
  • Verkkomoduuli (Network) Käsittelee verkko-operaatiot

Kaikkia moduuleita voidaan käyttää itsenäisenä, paitsi grafiikkamoduulia joka tarvitsee ikkunamoduulin toimiakseen, sekä kaikki moduulit jotka tarvitsevat toimiakseen järjestelmämoduulia.

Esimerkkiohjelma

[muokkaa | muokkaa wikitekstiä]

Luodaan uusi ikkuna johon piirretään vihreä ympyrä.

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 800), "Ensimmäinen SFML-ohjelmani");
    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;
}
  1. Release 2.6.1, (viitattu ). Tieto on haettu Wikidatasta.
  2. Frequently Asked Questions (FAQ) sfml-dev.org. Viitattu 4.4.2020. (englanniksi)
  3. License sfml-dev.org. Viitattu 4.4.2020. (englanniksi)

Kirjallisuutta

[muokkaa | muokkaa wikitekstiä]
  • Jan Haller, Henrik Vogelius Hansson, Artur Moreira: SFML Game Development. Packt Publishing. ISBN 1-849696-84-5 (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]