Egyszerű és gyors multimédiás könyvtár

Egyszerű és gyors multimédiás könyvtár

Információ
Fejlesztette

Laurent Gomila

Marco Antognini (Mac OS X port)
Utolsó verzió 2.5.1 (2018. október 15)
Letét github.com/SFML/SFML
Beírva C ++
Operációs rendszer Többplatformos
Környezet Mac OS X , Windows , GNU / Linux
Nyelvek Többnyelvű
típus Szoftvertár
Engedély Zlib / png licenc
Weboldal www.sfml-dev.org

SFML egy programozási felület az épület videojátékok vagy interaktív programokat. C ++ nyelven íródott , de különféle nyelveken is elérhető, például C , D , Python , Ruby , OCaml vagy Microsoft .NET . Célja többek között az SDL objektum-orientált alternatívájának biztosítása .

Különlegessége az is, hogy gyorsított 2D grafikát kínál az OpenGL használatával , amely lehetővé teszi a felhasználó számára, hogy felhagyjon az ál-3D kezelésével.

Számos modulból áll, használható minimális ablakos rendszerként az OpenGL-hez való kapcsolódáshoz, vagy funkciógazdag multimédiás könyvtárként videojátékok vagy interaktív programok készítéséhez.

Modulok

Az SFML jelenleg öt külön speciális modullal rendelkezik. Ezek a különféle modulok külön-külön is használhatók (kivéve a grafikus modult, amely szintén függ az ablakos modultól), de mindegyik a rendszer moduljától függ.

Rendszer modul

A rendszermodul főként az időt (órát stb.) Kezeli. Ezenkívül kínál egy szálrendszert, amely lehetővé teszi az utasítások több sorozatának párhuzamos végrehajtását, például a teljesítmény javítása vagy a hatékony hálózatkezelés érdekében. A fejlesztők azonban a C ++ 11 szabvány óta javasolják a standard könyvtárban található std :: thread osztály használatát .

Ablakos modul

Az ablakos modul kezeli az ablakok létrehozását és azok jellemzőit (méret, teljes képernyős, antialiasing , vertikális szinkronizálás , framerate stb.). Az eseményrendszernek ( billentyűzet , egér , joystick stb.) Köszönhetően kezeli a felhasználóval való interakciókat is . Végül felhasználható az SFML interfészként való használatához az OpenGL-hez, ami önmagában nem elegendő egy teljes program létrehozásához, és többek között megköveteli a felhasználóval való interakció és interakció rendszerét.

Grafikus modul

A grafikus modul lehetővé teszi minden olyan objektum megrajzolását, amely látható lesz az ablakban ( téglalapok , lemezek , sokszögek , szövegek ... de a ponttáblázatoknak köszönhetően összetettebb alakzatok is), és textúrát alkalmazhatunk rá . Ezek az objektumok átalakíthatók ( fordítás , forgatás , homotetika ). Azt is kezeli a 2D kamera, és lehetővé teszi a végrehajtását shader írt GLSL .

Audio modul

Az audio modul lehetővé teszi hangok és zenék lejátszását WAV , OGG / Vorbis vagy FLAC formátumban (licenc okokból az MP3 formátum nem támogatott). Ezenkívül olyan egyszerű effekteket is kezel, mint a hangerő, a hangmagasság , a térbeosztás vagy a huroklejátszás .

Hálózati modul

A hálózati modul lehetővé teszi a hordozható használatát aljzatok , a TCP protokollt (csatlakoztatva) vagy UDP protokollt (nincs bekötve), és kínál egy csomagot a rendszer , hogy könnyen serialize adatokat. Ez lehetővé teszi azt is, hogy kommunikáljon egy HTTP szerverrel, és fájlokat továbbítson az FTP protokoll segítségével .

Bonjour Monde

Az alábbiakban bemutatunk egy egyszerű programot az SFML 2.0 gyors áttekintéséhez. Ez a kód csak megnyit egy ablakot, és a háttérben megjelenő képen megjeleníti a "Hello World" szöveget.

#include <SFML/Graphics.hpp> int main() { // Crée la fenêtre principale avec comme titre "Hello World" sf::RenderWindow window(sf::VideoMode(800, 600), "Hello World"); // Charge un sprite à afficher sf::Texture texture; if (!texture.loadFromFile("background.jpg")) { return EXIT_FAILURE; } sf::Sprite sprite(texture); // Crée un texte sf::Font font; if (!font.loadFromFile("arial.ttf")) { return EXIT_FAILURE; } sf::Text text("Hello World", font, 18); // Boucle principale while (window.isOpen()) { // Gestion des événements sf::Event event; while (window.pollEvent(event)) { // Fermeture de la fenêtre if (event.type == sf::Event::Closed) { window.close(); } } window.clear(); // Efface l'écran window.draw(sprite); // Affiche le sprite window.draw(text); // Affiche le texte window.display(); // Met à jour la fenêtre } return EXIT_SUCCESS; }

Támogatott nyelvek

A feltüntetett szám adja meg azt a verziót, amelyen a könyvtár elérhető.

Hivatalos linkek

Külső linkek

Verziótörténet

  • 1,0 (2007. július)
    • 1.1 (2007. szeptember 18)
    • 1,2 (2008. január 16)
    • 1,3 (2008. június 22)
    • 1,4 (2009. január 7)
    • 1,5 (2009. június 4)
    • 1,6 (2010. április 6): Ezek többnyire hibajavítások, a csapat leginkább a könyvtár 2.0 verzióján dolgozik.
  • 2,0 (2013. április 30): A könyvtár teljes felújítása.
    • 2,1 (2013. július 27) : Hibajavítás .
    • 2,2 (2014. december 17)
    • 2,3 (2015. május 3)
      • 2.3.1 (2015. június 27)
      • 2.3.2 (2015. augusztus 24)
    • 2.4.1 (2016. június 21)
    • 2.4.2 (2017. február 8)
    • 2,5 (2018. május 9)

Hivatkozások

  1. 2.5.1. Kiadás  " ,2018. október 15(megtekintve : 2018. október 16. )
  2. "  Szálak (SFML / Learn / Tutorials 2.3)  " , a www.sfml-dev.org oldalon
  3. "  Hangok és zene lejátszása (SFML / Learn / Tutorials 2.3)  " , a www.sfml-dev.org oldalon
  4. SFML 2.1

Lásd is

Kapcsolódó cikkek

Külső linkek