SFML

From Wikipedia, the free encyclopedia

SFML
Remove ads

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.

Pikafaktoja Simple and Fast Multimedia Library, Kehityshistoria ...

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]

Remove ads

Moduulit

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.

Remove ads

Esimerkkiohjelma

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;
}
Remove ads

Katso myös

Lähteet

Kirjallisuutta

Aiheesta muualla

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads