SFML
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]
Moduulit
[muokkaa | muokkaa wikitekstiä]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;
}
Katso myös
[muokkaa | muokkaa wikitekstiä]Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Release 2.6.1, (viitattu ). Tieto on haettu Wikidatasta.
- ↑ Frequently Asked Questions (FAQ) sfml-dev.org. Viitattu 4.4.2020. (englanniksi)
- ↑ 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)