SFML

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 mars 2022; kontroller kräver 3 redigeringar .
Enkelt och snabbt multimediabibliotek
Sorts API
Utvecklaren Laurent Gomila
Skrivet i C++
Operativ system plattformsoberoende
senaste versionen 2.5.1
Licens zlib-licens
Hemsida sfml-dev.org

SFML ( Engelska Simple and Fast Multimedia Library -  ett enkelt och snabbt multimediabibliotek) är ett gratis plattformsoberoende multimediabibliotek . Skrivet i C++ , men även tillgängligt för C , C# , .Net , D , Java , Python , Ruby , OCaml , Go och Rust . [1] Det är en objektorienterad analog av SDL . [2]

SFML innehåller ett antal moduler för enkel programmering av spel och multimediaapplikationer. Bibliotekets källkod tillhandahålls under zlib/png-licensen . [3]

Moduler

Följande moduler är för närvarande tillgängliga:

hej världen

Följande C++-kod visar den enklaste SFML-applikationen (visa ett fönster och fyll det med blått):

// Inkludera rubriken för grafikmodulen, så kommer den automatiskt att inkludera rubriken för Window-modulen #include <SFML/Graphics.hpp> int main () { // skapa fönster sf :: RenderWindow app ( sf :: VideoMode ( 800 , 600 , 32 ), "Hello World - SFML" ); // main while loop ( app . isOpen ()) { // leta efter händelser (knappklick, stäng fönster, etc.) sf :: Event event ; while ( app . pollEvent ( event )) { // om händelsen är "fönster stängs": if ( händelse . typ == sf :: Event :: Stängd ) // stäng appfönstret . stäng (); } // rensa skärmen och fyll den med blå app . klar ( sf :: Färg ( 0 , 0 , 255 )); // visa till skärmappen . visa (); } returnera 0 ; }

Ett exempel på C-kod (visar ett fönster och fyller det med vitt):

#include <SFML/Graphics.hpp> int main () { sfVideoMode- läge = { 480 , 320 , 32 }; sfRenderWindow * fönster ; sfEvent händelse ; fönster = sfRenderWindow_create ( läge , "Hej världen!" , sfResize | sfClose , NULL ); while ( sfRenderWindow_isOpen ( fönster )) { while ( sfRenderWindow_pollEvent ( fönster , & händelse )) { if ( händelse . typ == sfEvtClosed ) sfRenderWindow_close ( fönster ); } sfRenderWindow_clear ( fönster , sfWhite ); sfRenderWindow_display ( fönster ); } sfRenderWindow_destroy ( fönster ); returnera 0 ; }

SFML på andra programmeringsspråk [1]

namn Språk Stöd version
CSFML Arkiverad 16 september 2015 på Wayback Machine 1 C 2.5
SFML.Net Arkiverad 28 augusti 2015 på Wayback Machine 1 .NETTO 2.5
JSFML Arkiverad 12 juni 2021 på Wayback Machine Java 2.2
DerelictSFML2 Arkiverad 11 juni 2018 på Wayback Machine D 2.4
DSFML Arkiverad 2 november 2015 på Wayback Machine D 2.1
csfml-fpc Arkiverad 1 april 2019 på Wayback Machine Gratis Pascal 2.5
pySFML Pytonorm 2.3.2
rbSFML Arkiverad 25 april 2015 på Wayback Machine rubin 2.3.2
mruby-sfml Arkiverad 1 april 2019 på Wayback Machine mruby 2.4
GoSFML2 Arkiverad 4 augusti 2015 på Wayback Machine 2.2
go-sfml Arkiverad 1 april 2019 på Wayback Machine 2.4
rust-sfml Arkiverad 4 augusti 2015 på Wayback Machine Rost 2.4
Ocsfml Arkiverad 2 januari 2015 på Wayback Machine Ocaml 2.2
ocaml-sfml Arkiverad 13 juli 2015 på Wayback Machine Ocaml 2.0
EuSFML2 Eufori 2.4
nim-csfml Arkiverad 11 augusti 2015 på Wayback Machine Nim 2.3
SFML.jl Arkiverad 16 augusti 2015 på Wayback Machine Julia 2.2
SFML Arkiverad 5 september 2015 på Wayback Machine Haskell 2.3.2
PassSfml Arkiverad 11 juni 2018 på Wayback Machine Pascal 2.4
crsfml Arkiverad 11 augusti 2015 på Wayback Machine Crystal Arkiverad 25 juli 2013 på Wayback Machine 2.5

Se även

Anteckningar

  1. 1 2 Bindningar (SFML/nedladdning) . www.sfml-dev.org. Hämtad 5 mars 2019. Arkiverad från originalet 1 april 2019.
  2. Vanliga frågor (SFML / Lär dig) . www.sfml-dev.org. Hämtad 5 mars 2019. Arkiverad från originalet 22 februari 2019.
  3. Licens (SFML/Learn) . www.sfml-dev.org. Hämtad 5 mars 2019. Arkiverad från originalet 6 mars 2019.

Litteratur

  • Artur Moreira, Jan Haller, Henrik Vogelius Hansson. SFML spelutveckling. - Packt Publishing, 2013. - 296 sid. — ISBN 978-1-84969-684-5 .
  • David Gouveia. 2. Ljuduppspelning, projekt 1 – bygga en enkel ljudhanterare // Komma igång med C++ ljudprogrammering för spelutveckling. - Packt Publishing, 2013. - 116 sid. — ISBN 978-1-84969-909-9 .
  • Milcho G. Milchev. SFML Essentials. - Packt Publishing, 2015. - 132 sid. — ISBN 978-1-78439-732-6 .
  • Maxim Barbier. SFML-ritningar. - Packt Publishing, 2015. - 298 sid. - ISBN 978-1-78439-577-3 .

Länkar