SFML

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 16. maaliskuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .
Yksinkertainen ja nopea multimediakirjasto
Tyyppi API
Kehittäjä Laurent Gomila
Sisään kirjoitettu C++
Käyttöjärjestelmä cross-platform
uusin versio 2.5.1
Lisenssi zlib-lisenssi
Verkkosivusto sfml-dev.org

SFML ( englanninkielinen yksinkertainen ja nopea multimediakirjasto -  yksinkertainen ja nopea multimediakirjasto) on ilmainen multimediakirjasto . Kirjoitettu kielellä C++ , mutta saatavilla myös C :lle , C# :lle , .Net :lle , D :lle , Javalle , Pythonille , Rubylle , OCamlille , Golle ja Rustille . [1] Se on SDL :n olio-analogi . [2]

SFML sisältää useita moduuleja pelien ja multimediasovellusten helppoa ohjelmointia varten. Kirjaston lähdekoodi toimitetaan zlib/png-lisenssillä . [3]

Moduulit

Seuraavat moduulit ovat tällä hetkellä saatavilla:

hei maailma

Seuraava C++-koodi esittelee yksinkertaisimman SFML-sovelluksen (näytä ikkuna ja täytä se sinisellä):

// Sisällytä Graphics-moduulin otsikko, ja se sisältää automaattisesti Window-moduulin otsikon #include <SFML/Graphics.hpp> int main () { // luo ikkuna sf :: RenderWindow app ( sf :: VideoMode ( 800 , 600 , 32 ), "Hello World - SFML" ); // Main while -silmukka ( app . isOpen ()) { // Tarkista tapahtumat (painikkeen napsautus, ikkunan sulkeminen jne.) sf :: Event event ; while ( app . pollEvent ( tapahtuma )) { // jos tapahtuma on "ikkunan sulkeminen": if ( tapahtuma . tyyppi == sf :: Tapahtuma :: Suljettu ) // sulje sovellusikkuna . sulje (); } // tyhjennä näyttö ja täytä se sinisellä sovelluksella . kirkas ( sf :: Väri ( 0 , 0 , 255 )); // näyttää näytön sovellukselle . näyttö (); } paluu 0 ; }

Esimerkki C-koodista (ikkunan näyttäminen ja sen täyttäminen valkoisella):

#include <SFML/Graphics.hpp> int main () { sfVideoMode- tila = { 480 , 320 , 32 }; sfRenderWindow * ikkuna ; sfEvent -tapahtuma ; ikkuna = sfRenderWindow_create ( tila , "Hei, maailma!" , sfResize | sfClose , NULL ); while ( sfRenderWindow_isOpen ( ikkuna )) { while ( sfRenderWindow_pollEvent ( ikkuna , & tapahtuma )) { if ( tapahtuma . tyyppi == sfEvtClosed ) sfRenderWindow_close ( ikkuna ); } sfRenderWindow_clear ( ikkuna , sfWhite ); sfRenderWindow_display ( ikkuna ); } sfRenderWindow_destroy ( ikkuna ); paluu 0 ; }

SFML muilla ohjelmointikielillä [1]

Nimi Kieli Tuettu versio
CSFML arkistoitu 16. syyskuuta 2015 Wayback Machine 1 :ssä C 2.5
SFML.Net Arkistoitu 28. elokuuta 2015 Wayback Machine 1 :ssä .NETTO 2.5
JSFML arkistoitu 12. kesäkuuta 2021 Wayback Machinessa Java 2.2
DerelictSFML2 Arkistoitu 11. kesäkuuta 2018 Wayback Machineen D 2.4
DSFML Arkistoitu 2. marraskuuta 2015 Wayback Machinessa D 2.1
csfml-fpc Arkistoitu 1. huhtikuuta 2019 Wayback Machineen Ilmainen Pascal 2.5
pySFML Python 2.3.2
rbSFML Arkistoitu 25. huhtikuuta 2015 Wayback Machineen rubiini 2.3.2
mruby-sfml Arkistoitu 1. huhtikuuta 2019 Wayback Machineen mruby 2.4
GoSFML2 Arkistoitu 4. elokuuta 2015 Wayback Machinessa mennä 2.2
go-sfml Arkistoitu 1. huhtikuuta 2019 Wayback Machineen mennä 2.4
rust-sfml Arkistoitu 4. elokuuta 2015 Wayback Machineen Ruoste 2.4
Ocsfml Arkistoitu 2. tammikuuta 2015 Wayback Machineen OCaml 2.2
ocaml-sfml Arkistoitu 13. heinäkuuta 2015 Wayback Machineen OCaml 2.0
EuSFML2 Euforia 2.4
nim-csfml Arkistoitu 11. elokuuta 2015 Wayback Machineen Nim 2.3
SFML.jl Arkistoitu 16. elokuuta 2015 Wayback Machinessa Julia 2.2
SFML Arkistoitu 5. syyskuuta 2015 Wayback Machinessa Haskell 2.3.2
PasSfml Arkistoitu 11. kesäkuuta 2018 Wayback Machineen Pascal 2.4
crsfml Arkistoitu 11. elokuuta 2015 Wayback Machinessa Crystal Arkistoitu 25. heinäkuuta 2013 Wayback Machinessa 2.5

Katso myös

Muistiinpanot

  1. 1 2 Sidotukset (SFML/Lataa) . www.sfml-dev.org. Haettu 5. maaliskuuta 2019. Arkistoitu alkuperäisestä 1. huhtikuuta 2019.
  2. Usein kysytyt kysymykset (SFML / Opi) . www.sfml-dev.org. Haettu 5. maaliskuuta 2019. Arkistoitu alkuperäisestä 22. helmikuuta 2019.
  3. Lisenssi (SFML/Learn) . www.sfml-dev.org. Haettu 5. maaliskuuta 2019. Arkistoitu alkuperäisestä 6. maaliskuuta 2019.

Kirjallisuus

  • Artur Moreira, Jan Haller, Henrik Vogelius Hansson. SFML-pelien kehitys. - Packt Publishing, 2013. - 296 s. — ISBN 978-1-84969-684-5 .
  • David Gouveia. 2. Äänentoisto, projekti 1 – yksinkertaisen äänenhallinnan rakentaminen // C++-ääniohjelmoinnin aloitus pelien kehittämiseen. - 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-piirustukset. - Packt Publishing, 2015. - 298 s. - ISBN 978-1-78439-577-3 .

Linkit