SFML

Wikipedia
Loikkaa: valikkoon, hakuun
Simple and Fast Multimedia Library

SFML2.svg

Kehittäjä Laurent Gomila
Kehityshistoria
Julkaistu heinäkuu 2007
Vakaa versio 2.1 / 27. heinäkuuta 2013
Tiedot
Ohjelmistotyyppi Ohjelmointirajapinta
Alusta Alustariippumaton
Ohjelmointikielet C++
Lisenssi zlib/png
Verkkosivu www.sfml-dev.org

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, Python, Ruby, OCaml, 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.

Moduulit[muokkaa | muokkaa wikitekstiä]

Tällä hetkellä 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;
}


Katso myös[muokkaa | muokkaa wikitekstiä]