Создание игр вики
SFML
SFML2
Тип Библиотеки
Графика: 2D
Платформа: Multi-platform
Дата релиза: Июль 2007
Лицензия: zlib (Бесплатная)
Языки программирования: Multi-language
Разработчики: Laurent Gomila

Описание[]

SFML (англ. Simple and Fast Multimedia Library — простая и быстрая мультимедийная библиотека) — свободная кроссплатформенная мультимедийная библиотека. Написана на C++.

SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений. Исходный код библиотеки предоставляется под лицензией zlib/png license.

Модули[]


В настоящее время доступны следующие модули:

  • System — управление временем и потоками, он является обязательным, так как все модули зависят от него.
  • Window — управление окнами и взаимодействием с пользователем.
  • Graphics — делает простым отображение графических примитивов и изображений, для своей работы требует модуль Window.
  • Audio — предоставляет интерфейс для управления звуком.
  • Network — для сетевых приложений.

Языки программирования[]

Название Язык Поддерживаемая версия
SFML C++ 2.5.1
CSFML1 C 2.5
SFML.Net1 .NET Framework 2.5
JSFML Java 2.2
DerelictSFML2 D 2.4
DSFML D 2.1
pySFML Python 2.3.2
rbSFML Ruby 2.3.2
GoSFML2 Go 2.2
rust-sfml Rust 2.4
Ocsfml OCaml 2.2
ocaml-sfml OCaml 2.0
EuSFML2 Euphoria 2.4
nim-csfml Nim 2.3
SFML.jl Julia] 2.2
SFML Haskell 2.3.2
PasSfml Pascal 2.4
crsfml Crystal 2.5

Простейшая програма[]

Следующий код на языке C++ демонстрирует простейшее приложение на SFML (отображает пустое окно):

C++

# include <SFML/Graphics.hpp>

int main()
{
    // Создаём окно
    sf::RenderWindow window(sf::VideoMode(800, 600), "Hello World - SFML");

    // Основной цикл окна
    while (window.isOpen())
    {
        // Проверяем события (нажатие кнопки, закрытие окна и т.д.)
        sf::Event event;
        while (window.pollEvent(event))
        {
            // если событие "закрытие окна":
            if (event.type == sf::Event::Closed)
                 //закрываем окно 
                window.close();
        }

        // очищаем экран
        window.clear();

        // отображаем на экран
        window.display();
    }

    return 0;
}

История версий[]

  • 1.0 (Июль 2007)
    • 1.1 (18 Сентябрь 2007)
    • 1.2 (16 Январь 2008)
    • 1.3 (22 Июнь 2008)
    • 1.4 (7 Январь 2009)
    • 1.5 (4 Июнь 2009)
    • 1.6 (6 Апрель 2010)
  • 2.0 (29 Апрель 2013)
    • 2.1 (27 Июль 2013)
    • 2.2 (17 Декабрь 2014)
    • 2.3 (9 Май 2015)
      • 2.3.1 (11 Июль 2015)
      • 2.3.2 (25 Декабрь 2015)
    • 2.4 (7 Августа 2016)
      • 2.4.1 (4 Ноября 2016)
      • 2.4.2 (8 Февраль 2017)
    • 2.5 (9 Мая 2018)
      • 2.5.1 (18 Октября 2018)