Простая и быстрая мультимедийная библиотека - Simple and Fast Multimedia Library
Логотип SFML | |
Оригинальный автор (ы) | Лоран Гомила и другие |
---|---|
Разработчики) | Команда SFML |
изначальный выпуск | 9 августа 2007 г. |
Стабильный выпуск | 2.5.1 / 15 октября 2018 г. |
Репозиторий | |
Написано в | C ++ |
Операционная система | Linux, macOS, Windows, FreeBSD |
Тип | API |
Лицензия | zlib Лицензия[1][2] |
Интернет сайт | www |
Простая и быстрая мультимедийная библиотека (SFML) это кросс-платформенный разработка программного обеспечения библиотека разработан, чтобы обеспечить простой интерфейс прикладного программирования (API) к различным мультимедийным компонентам компьютеров. Это написано в C ++ с привязки доступны для C, Кристалл, D, Эйфория, Идти, Ява, Юля, .СЕТЬ, Ним, OCaml, Python, Рубин, и Ржавчина.[3] Экспериментальные мобильные порты были доступны для Android и iOS с выпуском SFML 2.2.[4]
SFML обрабатывает создание и ввод в окна, а также создание и управление OpenGL контексты. Он также предоставляет графический модуль для простого аппаратное ускорение из 2D компьютерная графика который включает рендеринг текста с использованием FreeType, аудиомодуль, использующий OpenAL и сетевой модуль для базового Протокол управления передачей (TCP) и Протокол пользовательских датаграмм (UDP) связь.
SFML - это бесплатное программное обеспечение с открытым исходным кодом предоставляется в соответствии с условиями zlib / png лицензия. Он доступен на Linux, macOS, Windows и FreeBSD.[5][6] Первая версия v1.0 была выпущена 9 августа 2007 года, последняя версия v2.5.1 - 15 октября 2018 года.
Архитектура программного обеспечения
Модули
SFML состоит из различных модулей:
- Система - вектор и Unicode нить классы, переносные заправка и таймеры
- Окно - окно и Устройство ввода управление, включая поддержку джойстики, OpenGL управление контекстом
- Графика - аппаратное ускорение 2D-графики, включая спрайты, полигоны и рендеринг текста
- Аудио - с аппаратным ускорением пространственный воспроизведение и запись звука
- Сеть - TCP и UDP сетевые розетки, средства инкапсуляции данных, HTTP и FTP классы
Хотя графический модуль является одной из основных функций SFML, разработчики, которые заинтересованы только в создании среды для программирования непосредственно в OpenGL, могут сделать это, используя модуль Window отдельно без графического модуля. Точно так же другие модули также могут использоваться независимо друг от друга, за исключением системного модуля, который используется всеми модулями.
Языковые привязки
SFML написан на C ++ и предоставляет интерфейс C ++. Несколько языковые привязки существуют, которые позволяют использовать SFML в других языках программирования.[3]
В этой таблице перечислены поддерживаемые привязки для SFML по состоянию на 2017 г.[Обновить].
Имя | Язык | Поддерживаемая версия |
---|---|---|
CSFML1 | C | 2.5 |
SFML.Net1 | .СЕТЬ | 2.5 |
CrSFML | Кристалл | 2.5 |
DerelictSFML2 | D | 2.4 |
DSFML | D | 2.1 |
EuSFML2 | Эйфория | 2.4 |
csfml-fpc | Free Pascal | 2.4.0 |
GoSFML2 | Идти | 2.0 |
Взлом | Haskell | 2.3.2 |
JSFML | Ява | 2.2 |
CSFML.jl | Юля | 2.5.1 |
nim-csfml | Ним | 2.3 |
Ocsfml | OCaml | 2.3 |
OCaml-SFML | OCaml | 2.0 |
PasSFML | Паскаль | 2.4 |
pySFML | Python | 2.3.2 |
rbSFML | Рубин | 2.3.2 |
ржавчина-sfml | Ржавчина | 2.4 |
1 Официальные привязки
Неофициальные дополнения
SFML предоставляет основные функции, на которых высший уровень программное обеспечение может быть построено. Существуют дополнительные библиотеки, которые обеспечивают дополнительную поддержку для графический пользовательский интерфейс (GUI),[7][8] 2D освещение,[9] системы частиц и анимация,[10] видео воспроизведение[11] и тайловые карты.[12]
Прием и усыновление
SFML в основном используется любителями-разработчиками игр, небольшими независимые разработчики видеоигр, и начинающие компании состоит максимум из нескольких разработчиков. Поскольку SFML не требует написания большого количества кода, он был принят многими Ludum Dare участники тоже.[13] По сравнению со старыми библиотеками, такими как Простой слой DirectMedia (SDL) и Аллегро, база пользователей SFML относительно невелика, но продолжает расти. По состоянию на 10 мая 2018 г.[Обновить], это GitHub репозиторий программного обеспечения отметили 4255 пользователей.[14]
SFML использовался при обучении в университетах и в научных проектах.[15][16][17][18][19][20]
Примеры использования видеоигр
- Атомный зомби-сокрушитель,[21] стратегия в реальном времени игра.
- Гостиная команда,[22] Моделирование Интерактивная фантастика игра.
- Шахматы,[23] головоломка игра.
- Космоскролл,[24] бесплатный открытый исходный код на основе космоса застрели их игра.
- Crea,[25] модифицируемый 2D песочница игра.
- Зачарованный лес[26]
- Экстремальный гонщик в смокинге,[27] бесплатная арктическая гоночная игра с открытым исходным кодом с Смокинг (с использованием SFML с версии 0.7).
- Святой Дух,[28] 3D изометрический Круши и руби игра.
- Надеяться,[29] указать и щелкнуть приключенческую игру (например, Myst ).
- Я могу трансформировать,[30] 2D платформер для Android.
- KeeperRL,[31] симулятор подземелий с элементами rogue-like и RPG.
- Kroniax,[32] минималистичный сайд-скроллер и первая игра SFML для Android.
- Теория пределов,[33] бесконечный процедурный космическая игра.
- МАРС.,[34] многопользовательская стрелялка.
- Лунный человек,[35] игра-песочница с пиксельной графикой.
- Открытый шестиугольник,[36] бесплатный открытый исходный код Супер шестиугольник клон.
- Овидий Сова,[37] головоломка платформер.
- Пионеры,[38] пошаговая исследовательская игра с элементами ролевой игры.
- Сокровища пиратов[26]
- Посмертное: нужно умереть,[39] повествование приключенческая игра.
- Проект Черное Солнце,[40] ретро 2D видеоигра с боковой прокруткой.
- TacWars,[41] RPG-головоломка, в которой гномы сражаются с гоблинами.
- Герцог,[42] боевик платформер.
- Расстрел Исаака,[43] вертикальный шутер.
- Ваганте,[44] действие РПГ платформер.
- Zloxx,[45] 2D платформер в жанре экшн.
Дополнительные примеры игр, использующих SFML, перечислены на IndieDB.[46]
Другое использование программного обеспечения
- Aquila,[47] Открытый исходный код цифровая обработка сигналов (DSP) библиотека для C ++.
- Выдра,[48] 2D C # фреймворк, построенный на SFML 2.
- GDevelop,[49] программное обеспечение для создания игр с открытым исходным кодом.
- Погружной двигатель,[50] инструмент для детальной визуализации ландшафтов и архитектуры.
- is :: Engine,[51] Игровой движок 2D C ++ для Android и ПК.
Смотрите также
Рекомендации
- ^ "Лицензия".
- ^ «GitHub - SFML / SFML: простая и быстрая мультимедийная библиотека».
- ^ а б «Привязки (SFML / Загрузить)». SFML. Получено 13 ноября 2014.
- ^ «Список изменений (SFML / Разработка)». Получено 18 декабря 2014.
- ^ Гомила, Лоран. "SFML 2.1 (SFML / Загрузить)". SFML. Получено 9 августа 2014.
- ^ "SFML / Config.cmake в f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML / SFML". GitHub. Получено 13 ноября 2014.
- ^ «СФГУИ». SFGUI. Получено 13 ноября 2014.
- ^ «ТГУИ». TGUI. Получено 13 ноября 2014.
- ^ "ховаттерц / свет". GitHub. Получено 13 ноября 2014.
- ^ "Бромеон :: Тор". Ян Халлер. Получено 13 ноября 2014.
- ^ "sfeMovie". sfeMovie. Получено 13 ноября 2014.
- ^ "Загрузчик мозаичных карт SFML | SourceForge.net". SourceForge. Получено 13 ноября 2014.
- ^ "sfml | Ludum Dare". Ludum Dare. Получено 13 ноября 2014.
- ^ «SFML / SFML». GitHub. 10 мая 2018. Получено 10 мая 2018.
- ^ «Настройка SFML». Университет Мэри Вашингтон. Получено 13 ноября 2014.
- ^ «Центр Ренсселера по открытому программному обеспечению». Политехнический институт Ренсселера. Получено 13 ноября 2014.
- ^ «CSCI 261 - Концепции программирования». Колорадская горная школа. Получено 13 ноября 2014.
- ^ «COMPSCI 464: Компьютерная графика». Государственный университет Бойсе. Получено 13 ноября 2014.
- ^ "Engaging Computing Group | Comp4spr14 / PS5b". Массачусетский университет Лоуэлла. Получено 13 ноября 2014.
- ^ "Домашняя страница Тянью Чэна". Техасский университет в Остине. Получено 13 ноября 2014.
- ^ Чанг, Брендон (20 августа 2011 г.). «Atom Zombie Tech« Новости Blendo ». Игры Blendo. Получено 9 августа 2014.
- ^ «Команда гостей - научно-фантастическая интерактивная фантастика». 7 июля 2016 г.. Получено 1 апреля 2020.
- ^ "Шахматы [игра-головоломка SFML]". 18 октября 2011 г.. Получено 13 ноября 2014.
- ^ "cosmoscroll - стрелялка на основе SFML. - Github". GitHub. Получено 19 июля 2015.
- ^ «Обновление разработки - Освещение и сохранение | Осадные игры». Осадные игры. 3 апреля 2012 г.. Получено 13 ноября 2014.
- ^ а б "Сокровище пирата и Зачарованный лес". Получено 13 ноября 2014.
- ^ «НОВОСТИ для Extreme Tux Racer». Редакция 698. 27 августа 2017 г.. Получено 12 сентября 2017.
- ^ "HolySpirit Windows game | Desura". Desura. 13 ноября 2014 г.. Получено 19 июля 2015.
- ^ "FAQ - Блог разработчиков Hope". 2015-08-11. Получено 11 августа 2015.
- ^ «Я могу трансформироваться». Получено 9 ноября 2018.
- ^ "miki151 / keeperrl". Получено 11 января 2015.
- ^ "Kroniax доступен в Play Store!". Получено 15 ноября 2014.
- ^ "Форумы по теории пределов • Просмотр темы - SFML :: Текстурирование". Получено 13 ноября 2014.
- ^ "M.A.R.S. - нелепый шутер - релиз исправления ошибок M.A.R.S. 0.7.2". МАРС. 26 апреля 2011 г.. Получено 13 ноября 2014.
- ^ "SFML 2.0 | BP | Я делаю видеоигры". Бен Портер. Получено 13 ноября 2014.
- ^ «Open Hexagon - увлекательная динамичная игра». Получено 13 ноября 2014.
- ^ "Сова ЛЗР Овидий". Лиран З. Рафаэли. Получено 13 ноября 2014.
- ^ «Заметки о развитии Эйгена». Эйген Ленк. Получено 13 ноября 2014.
- ^ «Инструменты и ресурсы для создания инди-игры | Домен Кобазавра». Якуб Каштальский. 2013-04-20. Получено 13 ноября 2014.
- ^ «Версия 1.0.2 доступна из новостей для ПК и Linux - Project Black Sun Game - Indie DB». Инди DB. 20 декабря 2011 г.. Получено 13 ноября 2014.
- ^ "Домашняя страница RPG-головоломки TacWars".
- ^ "Герцог". 8 июня 2009 г.. Получено 13 ноября 2014.
- ^ "Филипп Офферман" Расстрел Исаака ". Филипп Офферман. Получено 13 ноября 2014.
- ^ "Ваганте | Инструменты торговли". Игра Ваганте. 3 декабря 2013. Архивировано с оригинал 13 ноября 2014 г.. Получено 13 ноября 2014.
- ^ "Zloxx II - Action Jump'n'Run". Получено 15 ноября 2014.
- ^ sfml / игры
- ^ «Скачать | Aquila - библиотека C ++ для цифровой обработки сигналов». Збигнев Сициарц. Получено 13 ноября 2014.
- ^ «Otter - 2D C # Framework, построенный на SFML 2». Кайл Пулвер. Получено 13 ноября 2014.
- ^ "Персональный сайт Флориана Ривала". Флориан Риваль. Получено 14 ноября 2014.
- ^ «Хорошие новости для ImmersionEngine». Facebook. Получено 12 февраля 2015.
- ^ "is :: Engine - игровой движок 2D C ++ для Android и ПК". Дауда. Получено 19 февраля 2020.
дальнейшее чтение
- Ян Галлер, Хенрик Фогелиус Ханссон, Артур Морейра: Разработка игр SFML, 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