Поиск…


замечания

SFML - мультимедийный

SFML обеспечивает простой интерфейс для различных компонентов вашего ПК, чтобы облегчить разработку игр и мультимедийных приложений. Он состоит из пяти модулей: системы, окна, графики, аудио и сети.

Узнайте больше об их функциях в учебниках и документации по API .

SFML является многоплатформенным

С помощью SFML ваше приложение может компилироваться и запускаться из коробки в наиболее распространенных операционных системах: Windows, Linux, Mac OS X и вскоре Android и iOS.

Предварительно скомпилированные SDK для вашей любимой ОС доступны на странице загрузки .

SFML - многоязычный

SFML имеет официальные привязки для языков C и .Net. Благодаря активному сообществу, он также доступен на многих других языках, таких как Java, Ruby, Python, Go и многое другое.

Узнайте больше о них на странице привязок .

Версии

Версия Дата выхода
1,0 2007-07-01
1,1 2007-09-18
1.2 2008-07-16
1,3 2008-06-22
1.4 2009-01-07
1,5 2009-06-04
1,6 2010-04-06
2,0 2013-04-29
2,1 2013-07-27
2,2 2014-12-17
2,3 2015-05-09
2.3.1 2015-07-11
2.3.2 2015-10-12
2.4.0 2016-08-10
2.4.1 2016-11-04
2.4.2 2017-02-08

Установка или настройка

  • Сохраните его в любом месте на вашем компьютере, где его можно легко получить.
  • Открыть кодовые блоки.
  • Перейдите на вкладку Project-> Build Options-> LinkerSettings.
  • Нажмите кнопку « Добавить» и перейдите в папку bin SFML и выберите все имеющиеся там файлы.
  • Перейдите на вкладку «Поисковые каталоги» и добавьте папку «include» в SFML.
  • На той же вкладке щелкните вкладку «Настройки компоновщика» и добавьте папку «bin».

Основная программа SFML

Если все, что было настроено правильно, следующий фрагмент отобразит окно под названием «SFML works!». с зеленым кругом:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

Установка - Linux

Существуют различные подходы к установке SFML в Linux:

  1. Установите его прямо из репозитория пакетов дистрибутива
  2. Получить исходный код, построить его и установить его
  3. Загрузите предварительно скомпилированный SDK и скопируйте файлы вручную

Вариант 1 является предпочтительным; если версия SFML, которую вы хотите установить, доступна в официальном репозитории, а затем установите ее с помощью диспетчера пакетов. Например, в Debian вы бы сделали:

sudo apt-get install libsfml-dev

Вариант 2 требует больше работы: вам нужно обеспечить все зависимости SFML, включая их заголовки разработки, убедиться, что CMake установлен и вручную выполнить некоторые команды. Это приведет к пакету, который будет адаптирован к вашей системе. Если вы хотите идти этим путем, есть специальный учебник по созданию SFML .

Наконец, вариант 3 является хорошим выбором для быстрой установки, если SFML недоступен в качестве официального пакета. Загрузите SDK со страницы загрузки, распакуйте его и скопируйте файлы в предпочтительное место: либо отдельный путь в вашей личной папке (например, / home / me / sfml), либо стандартный путь (например, / usr / local).

Если у вас уже установлена ​​более старая версия SFML, убедитесь, что она не будет конфликтовать с новой версией!

Установка - Windows

Самый распространенный способ установки SFML в Windows - загрузить официальный SDK

Затем вы можете распаковать архив и использовать его в выбранной вами среде.

vcpkg

Хотя он все еще сильно развит , если вы используете Visual studio 2017 или новее, вы также можете установить SFML через vcpkg, который интегрируется с визуальной студией, что значительно упрощает процесс установки:

vcpkg install sfml

Отказ - macOS

Прежде всего вам нужно загрузить SDML SDK. Затем, чтобы начать разработку приложений SFML, вам необходимо установить следующие элементы:

Заголовочные файлы и библиотеки

SFML доступен как в виде dylib, так и в качестве фреймворков. Требуется только один тип двоичных файлов, хотя оба могут быть установлены одновременно в одной и той же системе. Мы рекомендуем использовать фреймворки.

Каркасы

  • Скопируйте содержимое Frameworks в / Library / Frameworks.

dylib

  • Скопируйте содержимое lib в / usr / local / lib и скопируйте содержимое include в / usr / local / include.

Зависимости SFML

SFML зависит от нескольких внешних библиотек в Mac OS X. Скопируйте содержимое extlib в / Library / Frameworks.

Шаблоны Xcode

Если вы используете Xcode, настоятельно рекомендуется установить шаблоны. Скопируйте каталог SFML из шаблонов в / Library / Developer / Xcode / Templates (создайте папки, если они еще не существуют).

Hello World в окне SFML

Давайте напишем небольшую программу, которая откроет окно и напишет «Hello World» на экране.

#include <SFML\Graphics.hpp>
#include <cassert>

int main() {
    sf::RenderWindow sfmlWin(sf::VideoMode(600, 360), "Hello World SFML Window");
    sf::Font font;
    //You need to pass the font file location
    if (!font.loadFromFile(/*
                           Put the filename that identify the font file you want to load*/"myfont.ttf")) {
        return -1;
    }
    sf::Text message("Hello, World !", font);

    while (sfmlWin.isOpen()) {

        sf::Event e;
        while (sfmlWin.pollEvent(e)) {

            switch (e.type) {
            case sf::Event::EventType::Closed:
                sfmlWin.close();
                break;
            }
        }

        sfmlWin.clear();
        sfmlWin.draw(message);
        sfmlWin.display();
    }
    return 0;
}

Давайте объясним, что мы там делали.

Сначала мы создали объект sf::Font . Нам нужен этот объект для хранения данных шрифта, которые мы будем использовать для отображения текста. После этого мы вызываем метод loadFromFile , используемый для загрузки шрифта в память. Следует отметить, что SFML не знает о ваших системных шрифтах, поэтому вам необходимо указать имя файла, а не имя шрифта

После этого мы создали объект sf::Text . Мы называем конструктор трех параметров:

  • Строка, которую вы хотите отобразить
  • Шрифт, который будет использовать объект
  • Размер символа в пикселе, который мы здесь не проходили, поэтому il будет установлен на значение по умолчанию: 30

Поскольку объект sf::Text готов, нам просто нужно нарисовать его в основном цикле sfml, вызвав метод draw в sfmlWin окна рендеринга sfmlWin который мы создали до



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow