Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 марта 2022 года; проверки требуют 14 правок.
| Simple and Fast Multimedia Library | |
|---|---|
| 👁 Логотип программы Simple and Fast Multimedia Library | |
| Тип | API |
| Разработчик | Лоран Крауд |
| Написана на | C++ |
| Операционная система | Кроссплатформенность |
| Последняя версия | (18 октября 2018 года[1]) |
| Репозиторий | github.com/SFML/SFML |
| Лицензия | zlib License |
| Сайт | sfml-dev.org |
SFML (англ. Simple and Fast Multimedia Library — простая и быстрая мультимедийная библиотека) — свободная кроссплатформенная мультимедийная библиотека. Написана на C++, но доступна также для C, C#, .Net, D, Java, Python, Ruby, OCaml, Go и Rust.[2] Представляет собой объектно-ориентированный аналог SDL.[3]
SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений. Исходный код библиотеки предоставляется под лицензией zlib/png license.[4]
Модули
[править | править код]В настоящее время доступны следующие модули:
- System — управление временем и потоками; он является обязательным, так как все модули зависят от него.
- Window — управление окнами и взаимодействием с пользователем; поддерживает рисование с помощью OpenGL.
- Graphics — делает простым отображение графических примитивов и изображений.
- Audio — предоставляет интерфейс для управления звуком; для работы модуля необходим OpenAL.
- Network — управляет сетевой частью.
Пример кода
[править | править код]Следующий код на языке C++ демонстрирует простейшее приложение на SFML (отображение окна и заливка его черным цветом):
#include<SFML/Graphics.hpp> intmain() { // Создать окно sf::RenderWindowwindow(sf::VideoMode(1024,768),"Hello, World!",sf::Style::Close); // Ограничить частоту кадров в секунду до 60 window.setFramerateLimit(60); // Основной цикл while(window.isOpen()) { // События sf::Eventevent; // Обработка событий (нажатие кнопок, закрытие окна и т.д.) while(window.pollEvent(event)) { // Закрыть окно если нажата кнопка "Закрыть" if(event.type==sf::Event::Closed) window.close(); } // Очистить окно и залить его черным цветом window.clear(sf::Color::Black); // Отобразить window.display(); } return0; }
Аналогичный пример кода на Си:
#include<SFML/Graphics.h> intmain() { // Режим окна (ширина, высота, глубина цвета) sfVideoModemode={1024,768,32}; // Создать окно sfRenderWindow*window=sfRenderWindow_create(mode,"Hello, World!",sfClose,NULL); // Ограничить частоту кадров в секунду до 60 sfRenderWindow_setFramerateLimit(window,60); // Основной цикл while(sfRenderWindow_isOpen(window)) { // События sfEventevent; // Обработка событий (нажатие кнопок, закрытие окна и т.д.) while(sfRenderWindow_pollEvent(window,&event)) { // Закрыть окно если нажата кнопка "Закрыть" if(event.type==sfEvtClosed) sfRenderWindow_close(window); } // Очистить окно и залить его черным цветом sfRenderWindow_clear(window,sfBlack); // Отобразить sfRenderWindow_display(window); } // Уничтожить окно sfRenderWindow_destroy(window); return0; }
SFML на других языках программирования[2]
[править | править код]См. также
[править | править код]Примечания
[править | править код]- ↑ SFML 2.5.1 released. Дата обращения: 5 марта 2019. Архивировано 6 марта 2019 года.
- ↑ 1 2 Bindings (SFML / Download). www.sfml-dev.org. Дата обращения: 5 марта 2019. Архивировано 1 апреля 2019 года.
- ↑ Frequently Asked Questions (SFML / Learn). www.sfml-dev.org. Дата обращения: 5 марта 2019. Архивировано 22 февраля 2019 года.
- ↑ License (SFML / Learn). www.sfml-dev.org. Дата обращения: 5 марта 2019. Архивировано 6 марта 2019 года.
Литература
[править | править код]- Artur Moreira, Jan Haller, Henrik Vogelius Hansson. SFML Game Development. — Packt Publishing, 2013. — 296 p. — ISBN 978-1-84969-684-5.
- David Gouveia. 2. Audio Playback, Project 1 – building a simple audio manager // Getting Started with C++ Audio Programming for Game Development. — Packt Publishing, 2013. — 116 p. — ISBN 978-1-84969-909-9.
- Milcho G. Milchev. SFML Essentials. — Packt Publishing, 2015. — 132 с. — ISBN 978-1-78439-732-6.
- Maxime Barbier. SFML Blueprints. — Packt Publishing, 2015. — 298 с. — ISBN 978-1-78439-577-3.
Ссылки
[править | править код]- Официальный сайт Архивная копия от 10 февраля 2021 на Wayback Machine
- Видео по созданию платформера Super Mario на SFML Архивная копия от 18 сентября 2016 на Wayback Machine
- Library Review: SFML Архивная копия от 21 января 2012 на Wayback Machine
- Русскоязычный форум SFML Архивная копия от 29 сентября 2015 на Wayback Machine
intmain()
{
printf("Hi");
return0;
}
Это заготовка статьи о программировании. Помогите Википедии, дополнив её.
В статье есть список источников, но не хватает сносок.
Без сносок сложно определить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставив сноски на источники, подтверждающие информацию. Сведения без сносок могут быть удалены. (21 декабря 2013)
Скрытые категории:
- Страницы, использующие устаревший тег source
- Википедия:Cite web (не указан язык)
- ПРО:ИТ:Статьи по алфавиту
- ПРО:ИТ:Последняя правка: в текущем году
- Незавершённые статьи о программировании
- Википедия:Статьи без сносок с декабря 2013 года
- Википедия:Статьи без сносок
- Страницы, использующие волшебные ссылки ISBN
