Biblioteca multimedia simplă și rapidă - Simple and Fast Multimedia Library
|
Sigla SFML
| |
| Autori originali | Laurent Gomila și alții |
|---|---|
| Dezvoltatori | Echipa SFML |
| Eliberarea inițială | 9 august 2007 |
| Versiune stabila | 2.5.1 / 15 octombrie 2018
|
| Repertoriu | |
| Scris in | C ++ |
| Sistem de operare | Linux , macOS , Windows , FreeBSD |
| Tip | API |
| Licență | Licență zlib |
| Site-ul web | www |
Biblioteca multimedia simplă și rapidă ( SFML ) este o bibliotecă de dezvoltare software multiplataforma concepută pentru a oferi o interfață simplă de programare a aplicațiilor (API) pentru diferite componente multimedia din computere. Este scris în C ++ cu legături disponibile pentru Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby și Rust . Porturile mobile experimentale au fost puse la dispoziție pentru Android și iOS odată cu lansarea SFML 2.2.
SFML gestionează crearea și introducerea în Windows și crearea și gestionarea contextelor OpenGL . De asemenea, oferă un modul grafic pentru accelerarea hardware simplă a graficii computerizate 2D, care include redarea textului utilizând FreeType , un modul audio care utilizează OpenAL și un modul de rețea pentru comunicarea de bază Transmission Control Protocol (TCP) și User Datagram Protocol (UDP).
SFML este software gratuit și open-source furnizat în condițiile licenței zlib / png . Este disponibil pe Linux , macOS , Windows și FreeBSD . Prima versiune v1.0 a fost lansată pe 9 august 2007, cea mai recentă versiune v2.5.1 a fost lansată pe 15 octombrie 2018.
Arhitectura software
Module
SFML constă din diferite module:
- Sistem - clase de șiruri vectoriale și Unicode , filetare portabilă și facilități de temporizare
- Geam - fereastră și gestionarea dispozitivelor de intrare, inclusiv suport pentru joystick-uri , gestionarea contextului OpenGL
- Grafică - accelerarea hardware a graficii 2D, inclusiv sprite , poligoane și redare text
- Audio - redare și înregistrare audio spațializată accelerată hardware
- Rețea - prize de rețea TCP și UDP , facilități de încapsulare a datelor, clase HTTP și FTP
În timp ce modulul grafic este una dintre caracteristicile principale ale SFML, dezvoltatorii care sunt interesați să creeze doar un mediu pentru a programa direct în OpenGL pot face acest lucru folosind modulul Window singur, fără modulul grafic. În mod similar, celelalte module pot fi, de asemenea, utilizate independent unul de celălalt, cu excepția modulului System care este utilizat de toate modulele.
Legături de limbă
SFML este scris în C ++ și oferă o interfață C ++. Există mai multe legături de limbaj care permit utilizarea SFML în alte limbaje de programare.
Acest tabel listează legările acceptate pentru SFML începând cu 2017.
| Nume | Limba | Versiune acceptată |
|---|---|---|
| CSFML 1 | C | 2.5 |
| SFML.Net 1 | .NET | 2.5 |
| CrSFML | Cristal | 2.5 |
| DerelictSFML2 | D | 2.4 |
| DSFML | D | 2.1 |
| EuSFML2 | Euforie | 2.4 |
| csfml-fpc | Pascal gratuit | 2.4.0 |
| GoSFML2 | Merge | 2.0 |
| Hackage | Haskell | 2.3.2 |
| JSFML | Java | 2.2 |
| CSFML.jl | Julia | 2.5.1 |
| nim-csfml | Nim | 2.3 |
| Ocsfml | OCaml | 2.3 |
| OCaml-SFML | OCaml | 2.0 |
| PasSFML | Pascal | 2.4 |
| pySFML | Piton | 2.3.2 |
| rbSFML | Rubin | 2.3.2 |
| rugină-sfml | Rugini | 2.4 |
| zig-sfml | Zig | 2.3.2 |
1 Legături oficiale
Suplimente neoficiale
SFML oferă funcțiile de bază pe care se poate construi software de nivel superior . Există biblioteci suplimentare care oferă suport suplimentar pentru interfețe grafice de utilizator (GUI), iluminare 2D , sisteme de particule și animație , redare video și tilemap-uri .
Primirea și adoptarea
SFML este utilizat în principal de dezvoltatorii de jocuri hobby, de micii dezvoltatori independenți de jocuri video și de companiile de startup formate din mai mulți dezvoltatori. Deoarece SFML nu necesită scrierea unor cantități mari de cod, a fost adoptat și de mulți participanți la Ludum Dare . În comparație cu bibliotecile mai vechi, cum ar fi Simple DirectMedia Layer (SDL) și Allegro , baza de utilizatori SFML este relativ mică, dar în creștere. Începând cu 8 februarie 2021, depozitul său de software GitHub a fost marcat de 6549 de utilizatori.
SFML a fost utilizat în predarea în universități și în proiecte științifice.
Exemple de utilizare a jocurilor video
- Atom Zombie Smasher ,joc de strategie în timp real .
- Echipa deplasare , Simulare Interactive Fiction joc.
- Chesster ,joc de puzzle .
- Cosmoscroll , joc gratuit shoot-em up bazat pe spațiu open-source.
- Crea , moddable joc sandbox 2D.
- Pădurea fermecată
- Extreme Tux Racer , joc gratuit de curse arctice open-source cu Tux (folosind SFML de la versiunea 0.7).
- HolySpirit , joc izometric 3D de tip hack and slash .
- Sper , arată și dă clic pe joc de aventură (cum ar fi Myst ).
- I Can Transform , joc platformă 2D pentru Android.
- KeeperRL , simulator de temniță cu elemente de tip Rogue și RPG.
- Kroniax , scroller lateral minimalist și primul joc SFML pentru Android.
- Teoria limitei , joc spațial infinit, procedural .
- MARS , joc multiplayer shoot 'em up.
- Moonman , joc de sandbox pentru explorare pixel art.
- Open Hexagon ,clonă Super Hexagon open-source gratuită.
- Ovid The Owl , joc de platformă puzzle.
- Pionieri ,joc de explorare pe rând cu câteva elemente RPG.
- Comoara Piraților
- Postmortem: trebuie să mori , joc narativ de aventură .
- Project Black Sun , joc video retro 2D cu defilare laterală .
- TacWars , un puzzle RPG care îi pune pe Dwarves împotriva Goblins.
- The Duke , joc de platformă de acțiune.
- The Shooting of Isaac , joc de tragere verticală.
- Vagante ,joc de platformă RPG de acțiune.
- Zloxx , platformer de acțiune 2D.
Alte exemple de jocuri care folosesc SFML sunt listate pe IndieDB .
Alte utilizări de software
- Aquila ,bibliotecăopen source de procesare a semnalului digital (DSP) pentru C ++.
- Otter , uncadru2D C # construit pe SFML 2.
- GDevelop , software open source pentru crearea jocurilor.
- Immersion Engine , instrument pentru vizualizarea peisajelor și arhitecturii detaliate.
- este :: Motor , motor de joc 2D C ++ pentru Android și PC.
Vezi si
Referințe
Lecturi suplimentare
- Jan Haller, Henrik Vogelius Hansson, Artur Moreira: SFML Game Development , Editura Packt, ISBN 1-849696-84-5
- http://www.lifehacker.com.au/2013/02/xna-is-dead-3-alternatives-that-let-you-use-your-c-and-net-skills/
- https://www.binpress.com/tutorial/creating-a-city-building-game-with-sfml/137
- http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-The-Introduction.aspx
linkuri externe