Biblioteca multimedia simplă și rapidă | |
---|---|
Tip de | API |
Dezvoltator | Laurent Gomila |
Scris in | C++ |
Sistem de operare | multiplatformă |
ultima versiune | 2.5.1 |
Licență | Licență zlib |
Site-ul web | sfml-dev.org |
SFML ( Bibliotecă multimedia simplă și rapidă în limba engleză - o bibliotecă multimedia simplă și rapidă) este o bibliotecă multimedia gratuită pe mai multe platforme . Scris în C++ , dar disponibil și pentru C , C# , .Net , D , Java , Python , Ruby , OCaml , Go și Rust . [1] Este un analog orientat pe obiecte al SDL . [2]
SFML conține o serie de module pentru programarea ușoară a jocurilor și aplicațiilor multimedia. Codul sursă al bibliotecii este furnizat sub licența zlib/png . [3]
Următoarele module sunt disponibile în prezent:
Următorul cod C++ demonstrează cea mai simplă aplicație SFML (afișează o fereastră și umple-o cu albastru):
// Includeți antetul modulului Graphics și va include automat antetul modulului Window #include <SFML/Graphics.hpp> int main () { // creează fereastra sf :: aplicația RenderWindow ( sf :: VideoMode ( 800 , 600 , 32 ), "Hello World - SFML" ); // bucla principală while ( aplicația isOpen ( )) { // verifică evenimentele (clic pe buton, închiderea ferestrei etc.) sf :: Event event ; while ( aplicație pollEvent ( eveniment ) ) { // dacă evenimentul este „închiderea ferestrei”: if ( event . type == sf :: Event :: Closed ) // închide fereastra aplicației . închide (); } // ștergeți ecranul și umpleți-l cu aplicația albastră . clar ( sf :: Culoare ( 0 , 0 , 255 )); // se afișează în aplicația de pe ecran . afișaj (); } returnează 0 ; }Un exemplu de cod C (afișarea unei ferestre și umplerea ei cu alb):
#include <SFML/Graphics.hpp> int main () { modul sfVideoMode = { 480 , 320 , 32 }; sfRenderWindow * fereastra ; sfEvent eveniment ; fereastră = sfRenderWindow_create ( mod , „Bună, lume!” , sfResize | sfClose , NULL ); while ( sfRenderWindow_isOpen ( fereastra )) { while ( sfRenderWindow_pollEvent ( fereastră și eveniment ) ) { if ( event . type == sfEvtClosed ) sfRenderWindow_close ( fereastra ); } sfRenderWindow_clear ( fereastra , sfAlb ); sfRenderWindow_display ( fereastra ); } sfRenderWindow_destroy ( fereastra ); returnează 0 ; }