SFML

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 16 martie 2022; verificările necesită 3 modificări .
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]

Module

Următoarele module sunt disponibile în prezent:

salut lumea

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

SFML în alte limbaje de programare [1]

Nume Limba Versiune acceptată
CSFML Arhivat pe 16 septembrie 2015 la Wayback Machine 1 C 2.5
SFML.Net Arhivat pe 28 august 2015 la Wayback Machine 1 .NET 2.5
JSFML Arhivat pe 12 iunie 2021 la Wayback Machine Java 2.2
DerelictSFML2 Arhivat pe 11 iunie 2018 la Wayback Machine D 2.4
DSFML Arhivat 2 noiembrie 2015 la Wayback Machine D 2.1
csfml-fpc Arhivat 1 aprilie 2019 la Wayback Machine Pascal liber 2.5
pySFML Piton 2.3.2
rbSFML Arhivat pe 25 aprilie 2015 la Wayback Machine rubin 2.3.2
mruby-sfml Arhivat la 1 aprilie 2019 la Wayback Machine mruby 2.4
GoSFML2 Arhivat 4 august 2015 la Wayback Machine Merge 2.2
go-sfml Arhivat la 1 aprilie 2019 la Wayback Machine Merge 2.4
rust-sfml Arhivat 4 august 2015 la Wayback Machine Rugini 2.4
Ocsfml Arhivat la 2 ianuarie 2015 la Wayback Machine OCaml 2.2
ocaml-sfml Arhivat 13 iulie 2015 la Wayback Machine OCaml 2.0
EuSFML2 Euforie 2.4
nim-csfml Arhivat 11 august 2015 la Wayback Machine Nim 2.3
SFML.jl Arhivat 16 august 2015 la Wayback Machine Julia 2.2
SFML Arhivat pe 5 septembrie 2015 la Wayback Machine Haskell 2.3.2
PasSfml Arhivat pe 11 iunie 2018 la Wayback Machine Pascal 2.4
crsfml Arhivat pe 11 august 2015 la Wayback Machine Crystal Arhivat pe 25 iulie 2013 la Wayback Machine 2.5

Vezi și

Note

  1. 1 2 Legături (SFML/Descărcare) . www.sfml-dev.org. Preluat la 5 martie 2019. Arhivat din original la 1 aprilie 2019.
  2. Întrebări frecvente (SFML / Learn) . www.sfml-dev.org. Preluat la 5 martie 2019. Arhivat din original la 22 februarie 2019.
  3. Licență (SFML/Learn) . www.sfml-dev.org. Preluat la 5 martie 2019. Arhivat din original pe 6 martie 2019.

Literatură

  • Artur Moreira, Jan Haller, Henrik Vogelius Hansson. Dezvoltarea jocurilor SFML. - Editura Packt, 2013. - 296 p. — ISBN 978-1-84969-684-5 .
  • David Gouveia. 2. Redare audio, Proiect 1 – construirea unui manager audio simplu // Noțiuni introductive cu programarea audio C++ pentru dezvoltarea jocurilor. - Editura Packt, 2013. - 116 p. — ISBN 978-1-84969-909-9 .
  • Milcho G. Milchev. Elemente esențiale SFML. - Editura Packt, 2015. - 132 p. — ISBN 978-1-78439-732-6 .
  • Maxim Barbier. Planuri SFML. - Editura Packt, 2015. - 298 p. - ISBN 978-1-78439-577-3 .

Link -uri