Biblioteca multimídia simples e rápida - Simple and Fast Multimedia Library
Autor (es) original (is) | Laurent Gomila e outros |
---|---|
Desenvolvedor (s) | Equipe SFML |
lançamento inicial | 9 de agosto de 2007 |
Versão estável | 2.5.1 / 15 de outubro de 2018
|
Repositório | |
Escrito em | C ++ |
Sistema operacional | Linux , macOS , Windows , FreeBSD |
Modelo | API |
Licença | Licença zlib |
Local na rede Internet | www |
Simple and Fast Multimedia Library ( SFML ) é uma biblioteca de desenvolvimento de software de plataforma cruzada projetada para fornecer uma interface de programação de aplicativo (API) simples para vários componentes de multimídia em computadores. Ele foi escrito em C ++ com ligações disponíveis para Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby e Rust . Portas móveis experimentais foram disponibilizadas para Android e iOS com o lançamento do SFML 2.2.
SFML lida com a criação e entrada de janelas e a criação e gerenciamento de contextos OpenGL . Ele também fornece um módulo gráfico para aceleração simples de hardware de gráficos de computador 2D que inclui renderização de texto usando FreeType , um módulo de áudio que usa OpenAL e um módulo de rede para comunicação básica de Protocolo de Controle de Transmissão (TCP) e Protocolo de Datagrama de Usuário (UDP).
SFML é um software gratuito e de código aberto fornecido sob os termos da licença zlib / png . Ele está disponível em Linux , macOS , Windows e FreeBSD . A primeira versão v1.0 foi lançada em 9 de agosto de 2007, a versão mais recente v2.5.1 foi lançada em 15 de outubro de 2018.
Arquitetura de software
Módulos
SFML consiste em vários módulos:
- Sistema - classes vetoriais e de string Unicode , thread portátil e recursos de temporizador
- Janela - janela e gerenciamento de dispositivo de entrada , incluindo suporte para joysticks , gerenciamento de contexto OpenGL
- Gráficos - aceleração de hardware de gráficos 2D, incluindo sprites , polígonos e renderização de texto
- Áudio - reprodução e gravação de áudio espacializada acelerada por hardware
- Rede - soquetes de rede TCP e UDP , instalações de encapsulamento de dados, classes HTTP e FTP
Embora o módulo gráfico seja um dos principais recursos do SFML, os desenvolvedores interessados apenas em criar um ambiente para programar diretamente em OpenGL podem fazê-lo usando o módulo Window sozinho, sem o módulo gráfico. Da mesma forma, os outros módulos também podem ser usados independentemente uns dos outros, exceto para o módulo Sistema que é usado por todos os módulos.
Ligações de linguagem
SFML é escrito em C ++ e fornece uma interface C ++. Existem várias ligações de linguagem que permitem o uso de SFML em outras linguagens de programação.
Esta tabela lista as ligações compatíveis com SFML a partir de 2017.
Nome | Língua | Versão suportada |
---|---|---|
CSFML 1 | C | 2,5 |
SFML.Net 1 | .INTERNET | 2,5 |
CrSFML | Cristal | 2,5 |
DerelictSFML2 | D | 2,4 |
DSFML | D | 2,1 |
EuSFML2 | Euforia | 2,4 |
csfml-fpc | Pascal grátis | 2.4.0 |
GoSFML2 | Ir | 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 | Pitão | 2.3.2 |
rbSFML | Rubi | 2.3.2 |
rust-sfml | Ferrugem | 2,4 |
zig-sfml | Zig | 2.3.2 |
1 ligações oficiais
Complementos não oficiais
SFML fornece as funções básicas nas quais o software de nível superior pode ser construído. Existem bibliotecas adicionais que fornecem suporte adicional para interfaces gráficas de usuário (GUIs), iluminação 2D , sistemas de partículas e animação , reprodução de vídeo e mapas de blocos .
Recepção e adoção
SFML é usado principalmente por desenvolvedores de jogos amadores, pequenos desenvolvedores independentes de videogames e empresas iniciantes que consistem em vários desenvolvedores, no máximo. Como o SFML não exige a escrita de grandes quantidades de código, ele também foi adotado por muitos participantes do Ludum Dare . Em comparação com bibliotecas mais antigas, como Simple DirectMedia Layer (SDL) e Allegro , a base de usuários SFML é relativamente pequena, mas está crescendo. Desde 8 de fevereiro de 2021, seu repositório de software GitHub foi marcado por 6549 usuários.
SFML tem sido usado no ensino em universidades e em projetos científicos.
Exemplos de uso de videogame
- Atom Zombie Smasher ,jogo de estratégia em tempo real .
- Away Team ,jogo de simulação de ficção interativa .
- Xadrez ,jogo de puzzle .
- Cosmoscroll , baseada em espaço livre de código aberto shoot 'em up jogo.
- Crea , jogo sandbox 2D modificável.
- Floresta encantada
- Extreme Tux Racer , jogo de corrida ártica de código aberto gratuito com Tux (usando SFML desde a versão 0.7).
- HolySpirit , jogo 3D isométrico de hack e slash .
- Espero , aponte e clique em jogo de aventura (como Myst ).
- I Can Transform , jogo de plataforma 2D para Android.
- KeeperRL , simulador de masmorra com elementos rogue e RPG.
- Kroniax , side-scroller minimalista e o primeiro jogo SFML para Android.
- Teoria do Limite , infinito, jogo espacial processual .
- MARS , jogo de tiro multijogador.
- Moonman , jogo sandbox de exploração de pixel art.
- Open Hexagon ,clone Super Hexagon de código aberto gratuito.
- Ovid The Owl , jogo de quebra-cabeça de plataforma .
- Pioneiros ,jogo de exploração baseado em turnos com alguns elementos de RPG.
- Tesouro dos Piratas
- Post-mortem: é preciso morrer , jogo de aventura narrativa.
- Projeto Black Sun , videogame retro 2D de rolagem lateral .
- TacWars , um RPG de quebra-cabeça que coloca Anões contra Goblins.
- The Duke , jogo de plataforma de ação.
- The Shooting of Isaac , jogo de tiro vertical.
- Vagante ,jogo de plataforma de RPG de ação.
- Zloxx , jogo de plataforma de ação 2D.
Outros exemplos de jogos usando SFML estão listados no IndieDB .
Outro uso de software
- Aquila ,biblioteca de processamento digital de sinal (DSP) decódigo abertopara C ++.
- Otter , uma estrutura 2D C # construída em SFML 2.
- GDevelop , software de criação de jogos de código aberto.
- Immersion Engine , ferramenta para visualizar paisagens detalhadas e arquitetura.
- é :: Engine , motor de jogo 2D C ++ para Android e PC.
Veja também
Referências
Leitura adicional
- 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
links externos