SFML
Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 16 марта 2022 года; проверки требуют13 правок.
| Simple and Fast Multimedia Library | |
|---|---|
| Тип | API |
| Разработчик | Лоран Крауд |
| Написана на | C++ |
| Операционная система | Кроссплатформенность |
| Последняя версия |
|
| Репозиторий | 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.[3] Представляет собой объектно-ориентированный аналогSDL.[4]
SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений. Исходный код библиотеки предоставляется под лицензиейzlib/png license.[5]
Модули
[править |править код]В настоящее время доступны следующие модули:
- 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);// Ограничить частоту кадров в секунду до 60window.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);// Ограничить частоту кадров в секунду до 60sfRenderWindow_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 на других языках программирования[3]
[править |править код]См. также
[править |править код]Примечания
[править |править код]- ↑Release 3.0.2 — 2025.
- ↑SFML 2.5.1 released . Дата обращения: 5 марта 2019. Архивировано 6 марта 2019 года.
- ↑12Bindings (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