SFML

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 16. marts 2022; checks kræver 3 redigeringer .
Enkelt og hurtigt multimediebibliotek
Type API
Udvikler Laurent Gomila
Skrevet i C++
Operativ system på tværs af platforme
nyeste version 2.5.1
Licens zlib-licens
Internet side sfml-dev.org

SFML ( Engelsk Simple and Fast Multimedia Library  - et enkelt og hurtigt multimediebibliotek) er et gratis multimediebibliotek på tværs af platforme . Skrevet i C++ , men også tilgængelig til C , C# , .Net , D , Java , Python , Ruby , OCaml , Go og Rust . [1] Det er en objektorienteret analog af SDL . [2]

SFML indeholder en række moduler til nem programmering af spil og multimedieapplikationer. Bibliotekets kildekode leveres under zlib/png-licensen . [3]

Moduler

Følgende moduler er i øjeblikket tilgængelige:

hej verden

Følgende C++-kode demonstrerer den enkleste SFML-applikation (vis et vindue og fyld det med blåt):

// Inkluder overskriften på grafikmodulet, og den vil automatisk inkludere overskriften på vinduesmodulet #include <SFML/Graphics.hpp> int main () { // create window sf :: RenderWindow app ( sf :: VideoMode ( 800 , 600 , 32 ), "Hello World - SFML" ); // main while loop ( app . isOpen ()) { // tjek for hændelser (klik på knappen, luk vinduet osv.) sf :: Event hændelse ; mens ( app . pollEvent ( begivenhed )) { // hvis begivenheden er "vindue lukker": if ( begivenhed . type == sf :: Event :: Lukket ) // luk app- vinduet . lukke (); } // Ryd skærmen og fyld den med blå app . klar ( sf :: Farve ( 0 , 0 , 255 )); // vise til skærmen app . display (); } returnere 0 ; }

Et eksempel på C-kode (viser et vindue og fylder det med hvidt):

#include <SFML/Graphics.hpp> int main () { sfVideoMode mode = { 480 , 320 , 32 }; sfRenderWindow * vindue ; sfEvent begivenhed ; window = sfRenderWindow_create ( mode , "Hej, verden!" , sfResize | sfClose , NULL ); while ( sfRenderWindow_isOpen ( vindue )) { while ( sfRenderWindow_pollEvent ( vindue , & begivenhed )) { if ( hændelse . type == sfEvtClosed ) sfRenderWindow_close ( vindue ); } sfRenderWindow_clear ( vindue , sfWhite ); sfRenderWindow_display ( vindue ); } sfRenderWindow_destroy ( vindue ); returnere 0 ; }

SFML på andre programmeringssprog [1]

Navn Sprog Understøttet version
CSFML Arkiveret 16. september 2015 på Wayback Machine 1 C 2.5
SFML.Net Arkiveret 28. august 2015 på Wayback Machine 1 .NET 2.5
JSFML Arkiveret 12. juni 2021 på Wayback Machine Java 2.2
DerelictSFML2 Arkiveret 11. juni 2018 på Wayback Machine D 2.4
DSFML Arkiveret 2. november 2015 på Wayback Machine D 2.1
csfml-fpc Arkiveret 1. april 2019 på Wayback Machine Gratis Pascal 2.5
pySFML Python 2.3.2
rbSFML Arkiveret 25. april 2015 på Wayback Machine rubin 2.3.2
mruby-sfml Arkiveret 1. april 2019 på Wayback Machine mruby 2.4
GoSFML2 Arkiveret 4. august 2015 på Wayback Machine 2.2
go-sfml Arkiveret 1. april 2019 på Wayback Machine 2.4
rust-sfml Arkiveret 4. august 2015 på Wayback Machine Rust 2.4
Ocsfml Arkiveret 2. januar 2015 på Wayback Machine OKaml 2.2
ocaml-sfml Arkiveret 13. juli 2015 på Wayback Machine OKaml 2.0
EuSFML2 Eufori 2.4
nim-csfml Arkiveret 11. august 2015 på Wayback Machine Nim 2.3
SFML.jl Arkiveret 16. august 2015 på Wayback Machine Julia 2.2
SFML Arkiveret 5. september 2015 på Wayback Machine Haskell 2.3.2
PasSfml Arkiveret 11. juni 2018 på Wayback Machine Pascal 2.4
crsfml Arkiveret 11. august 2015 på Wayback Machine Crystal Arkiveret 25. juli 2013 på Wayback Machine 2.5

Se også

Noter

  1. 1 2 Bindinger (SFML/Download) . www.sfml-dev.org. Hentet 5. marts 2019. Arkiveret fra originalen 1. april 2019.
  2. Ofte stillede spørgsmål (SFML / Lær) . www.sfml-dev.org. Hentet 5. marts 2019. Arkiveret fra originalen 22. februar 2019.
  3. Licens (SFML/Learn) . www.sfml-dev.org. Hentet 5. marts 2019. Arkiveret fra originalen 6. marts 2019.

Litteratur

  • Artur Moreira, Jan Haller, Henrik Vogelius Hansson. SFML spiludvikling. - Packt Publishing, 2013. - 296 s. — ISBN 978-1-84969-684-5 .
  • David Gouveia. 2. Lydafspilning, projekt 1 – opbygning af en simpel lydmanager // Kom godt i gang med C++ lydprogrammering til spiludvikling. - Packt Publishing, 2013. - 116 s. — ISBN 978-1-84969-909-9 .
  • Milcho G. Milchev. SFML Essentials. - Packt Publishing, 2015. - 132 s. — ISBN 978-1-78439-732-6 .
  • Maxim Barbier. SFML Blueprints. - Packt Publishing, 2015. - 298 s. - ISBN 978-1-78439-577-3 .

Links