Enkelt och snabbt multimediabibliotek - Simple and Fast Multimedia Library
Ursprungliga författare | Laurent Gomila och andra |
---|---|
Utvecklare | SFML Team |
Initial release | 9 augusti 2007 |
Stabil frisättning | 2.5.1 / 15 oktober 2018
|
Förvar | |
Skrivet i | C ++ |
Operativ system | Linux , macOS , Windows , FreeBSD |
Typ | API |
Licens | zlib -licens |
Hemsida | www |
Sfml ( SFML ) är en plattformsoberoende mjukvaruutveckling bibliotek utformad för att ge en enkel application programming interface (API) till olika multimedia komponenter i datorer. Den är skriven i C ++ med bindningar tillgängliga för Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby och Rust . Experimentella mobilportar gjordes tillgängliga för Android och iOS med lanseringen av SFML 2.2.
SFML hanterar skapande och inmatning till windows och skapande och hantering av OpenGL -sammanhang. Det ger också en grafikmodul för enkel hårdvaruacceleration av 2D -datorgrafik som inkluderar textåtergivning med FreeType , en ljudmodul som använder OpenAL och en nätverksmodul för grundläggande Transmission Control Protocol (TCP) och User Datagram Protocol (UDP) kommunikation.
SFML är gratis och öppen källkodsprogramvara som tillhandahålls enligt villkoren i zlib/png-licensen . Den är tillgänglig på Linux , macOS , Windows och FreeBSD . Den första versionen v1.0 släpptes den 9 augusti 2007, den senaste versionen v2.5.1 släpptes den 15 oktober 2018.
Programvaruarkitektur
Moduler
SFML består av olika moduler:
- System - vektor- och Unicode -strängklasser , bärbara trådning och timerfunktioner
- Fönster - fönster- och inmatningsenhetshantering inklusive stöd för joysticks , OpenGL -kontexthantering
- Grafik - hårdvaruacceleration av 2D -grafik inklusive sprites , polygoner och textåtergivning
- Ljud-hårdvaruaccelererad spatialiserad ljuduppspelning och inspelning
- Nätverk - TCP- och UDP -nätverksuttag , datakapslingsfunktioner, HTTP- och FTP -klasser
Medan grafikmodulen är en av huvudfunktionerna i SFML, kan utvecklare som är intresserade av att bara skapa en miljö att programmera direkt i OpenGL göra det genom att använda fönstermodulen på egen hand utan grafikmodulen. På samma sätt kan de andra modulerna också användas oberoende av varandra, förutom systemmodulen som används av alla moduler.
Språkbindningar
SFML är skrivet i C ++ och har ett C ++ - gränssnitt. Det finns flera språkbindningar som möjliggör användning av SFML på andra programmeringsspråk.
Denna tabell visar stödda bindningar för SFML från och med 2017.
namn | Språk | Version som stöds |
---|---|---|
CSFML 1 | C | 2.5 |
SFML.Net 1 | .NETTO | 2.5 |
CrSFML | Kristall | 2.5 |
DerelictSFML2 | D | 2.4 |
DSFML | D | 2.1 |
EuSFML2 | Eufori | 2.4 |
csfml-fpc | Gratis Pascal | 2.4.0 |
GoSFML2 | Gå | 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 | Pytonorm | 2.3.2 |
rbSFML | Rubin | 2.3.2 |
rost-sfml | Rost | 2.4 |
zig-sfml | Zig | 2.3.2 |
1 Officiella bindningar
Inofficiella tillägg
SFML tillhandahåller de grundläggande funktioner som programvara på högre nivå kan byggas på. Tilläggs bibliotek finns som ger extra stöd för grafiska användargränssnitt (GUI), 2D belysning , partikelsystem och animation , video uppspelning och tilemaps .
Mottagning och adoption
SFML används främst av hobbyutvecklare, små oberoende videospelutvecklare och nystartade företag som består av flera utvecklare som mest. Eftersom SFML inte kräver att man skriver stora mängder kod har den också antagits av många Ludum Dare -deltagare. Jämfört med äldre bibliotek som Simple DirectMedia Layer (SDL) och Allegro är SFML -användarbasen relativt liten men växer. Från och med den 8 februari 2021 har dess GitHub -programvaruförråd stjärnmärkts av 6549 användare.
SFML har använts i undervisning vid universitet och i vetenskapliga projekt.
Videospel använd exempel
- Atom Zombie Smasher , strategispel i realtid .
- Bortelag , Simulation Interactive Fiction -spel.
- Chesster , pusselspel .
- Cosmoscroll , gratis rymdbaserat shoot-up- spel medöppen källkod.
- Crea , moddable 2D sandbox -spel.
- Förtrollad skog
- Extreme Tux Racer , gratis arktiskt racingspel med öppen källkod med Tux (använder SFML sedan version 0.7).
- HolySpirit , 3D isometric hack and slash game.
- Hoppas , peka och klicka äventyrsspel (som Myst ).
- I Can Transform , 2D -plattformsspel för Android.
- KeeperRL , fängelsehålssimulator med oseriösa och RPG-element.
- Kroniax , minimalistisk sidrullare och det första SFML-spelet för Android.
- Limit Theory , oändligt, procedurmässigt rymdspel .
- MARS , multiplayer shoot 'em up -spel.
- Moonman , pixel art exploration sandbox spel.
- Open Hexagon , gratis öppen källkod Super Hexagon- klon.
- Ovid The Owl , pussel plattformsspel .
- Pionjärer , turbaserat utforskningsspel med några RPG -element.
- Pirates Treasure
- Postmortem: one must die , berättande äventyrsspel .
- Projekt Black Sun , retro 2D sidoskrollande tv-spel .
- TacWars , ett pussel -RPG som ställer dvärgar mot Goblins.
- The Duke , actionplattformsspel.
- The Shooting of Isaac , vertikalt skjutspel.
- Vagante , action -RPG -plattformsspel.
- Zloxx , 2D -actionplattform .
Ytterligare exempel på spel som använder SFML finns listade på IndieDB .
Annan programvara
- Aquila , open source digital signal processing (DSP) bibliotek för C ++.
- Otter , ett 2D C# -ramverk byggt på SFML 2.
- GDevelop , programvara för skapande av öppen källkod.
- Immersion Engine , verktyg för att visualisera detaljerade landskap och arkitektur.
- is :: Engine , 2D C ++ spelmotor för Android och PC.
Se även
Referenser
Vidare läsning
- Jan Haller, Henrik Vogelius Hansson, Artur Moreira: SFML Game Development , Packt Publishing, 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
externa länkar