Подключение библиотеки SFML к Visual Studio
В этом уроке я хотел бы показать, как подключить библиотеку SFML к среде разработки Visual Studio.
SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений.
Перед тем как начать. Нужно пройти по ссылке: http://www.sfml-dev.org/download/sfml/2.3.2/ (это официальный сайт) и скачать библиотеку. Выбирайте версию для своей VS.
Распаковываем куда вам угодно, на всякий случай старайтесь избегать русских букв в папках пути.
Запускаем Visual Studio, файл->создать->проект->пустой проект. (Имя проекта, решений и путь выбирайте сами).

Добавляем исходный код – для этого слева в обозревателе решений находим вкладку «Файлы исходного кода»->правый клик->добавить->создать элемент->файл C++ (имя main.cpp)->добавить.
Далее вставляем вот этот тестовый код в файл main.cpp
#include int main() { sf::RenderWindow window(sf::VideoMode(200, 200), "SFMLworks"); 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; }
После попытки запуска мы сталкиваемся с подобной проблемой:

Для того, чтобы всё это работало – необходимо подключить библиотеку SFML.
Для начала, все действия мы делаем для конфигурации Debug.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации->C++->общие
В пункте «дополнительные каталоги включаемых файлов прописываем путь до раннее распакованного архива с библиотекой (+ \include.)
Например: C:\Program Files\SFML-2.3.2\include

Затем идем в компоновщик->общие и в пункте «дополнительные каталоги библиотек» прописываем путь к папке lib;

Далее идем в компоновщике во вкладку ввод и в первой строке «дополнительные зависимости» вписываем перед всеми библиотеками следующую строчку:
sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib;

Только что подключили основные необходимые для работы библиотеки.
Последний штрих – идем во вкладку C++->препроцессор и в первой строке «определение препроцессора» в самом начале дописываем: SFML_DYNAMIC;

Напоминаю, все действия мы делали для конфигурации Debug. Все тоже самое нужно проделать для конфигурации Release.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации. В левом верхнем углу находим Конфигурация, нажимаем на слайдер и выбираем Release.
И повторяем несколько предыдущих пунктов.





Запустим и словим ошибку. Зато соберется проект и появится папка debug.
Теперь идем в папку бинарников “bin”, которую вы скачали и распаковали с библиотекой (мой вариант D:\SFML-2.2\bin\) и копируем всё содержимое этой папки (dll файлы типа sfml-graphics-2.dll) в папку с вашим проектом в папку debug (после сборки появилась эта папка), но не в тот debug, где лежит файл с исходным кодом “main.cpp”, а тот, где появляется exe файл.
В эту же папку копируем и вот эти файлы :
Все эти файлы можно скачать в zip архиве, который я прикрепил снизу.
Теперь проект можно запустить и если вы всё сделали правильно, то увидите зелёный круг как на скриншоте ниже:

Если возникла вот такая проблема:

Советую воспользоваться программой: Dll-Files Fixer.
| Прикрепленный файл | Размер |
|---|---|
| msvcp.zip | 550.93 кб |
| msvcr.zip | 1.61 Мб |
Как подключить sfml в visual studio 2019
Эта статья — первое,что вы должны изучить перед использованием SFML с помощью Visual Studio IDE (компилятор Visual C++). Здесь описывается,как настроить ваши проекты SFML.
Устанавливаем SFML
Во-первых,вы должны загрузить SFML SDK со страницы загрузки.
Вы должны загрузить пакет,который соответствует вашей версии Visual C + + . Например,библиотека,собранная с помощью VC + + 9 (Visual Studio 2008) не является совместимой с VC ++ 10 (Visual Studio 2010). Если вы не нашли пакета SFML,собранного для вашей версии Visual C + + ,вы можете пересобрать SFML.
Далее вы должны разархивировать SFML куда вам будет удобно.Копировать заголовочные файлы и библиотеки в вашу папку Visual Studio не рекомендуется,лучше хранить библиотеки в их отдельной папке,особенно если вы используете несколько версий библиотеки или несколько компиляторов.
Создание и настройка проекта SFML ===
Первым делом необходимо выбрать какой тип проекта создать — вы должны выбрать «Win32 application».Мастер предложит несколько пунктов для настроек вашего проекта — выберите «Console application»,если вам нужна консоль,или «Windows application»,если она вам не требуется.Выберите «Empty project»,если вам не требуется сгенерированный автоматически код.
Для целей этой статьи,вы должны создать main.cpp и добавить его в проект,теперь мы будем иметь доступ к настройкам C++(в ином случае Visual Studio не будет знать какой язык будет использоваться в этом проекте).Далее вы увидите,какой код мы напишем в этом файле.
Теперь нам требуется сообщить компилятору — где располагаются заголовочные файлы SFML(файлы .hpp) и линкеру — где располагаются библиотеки SFML (файлы .lib).
В свойствах проекта добавьте:
Путь к заголовочным файлам SFML (/include) в C/C++ » General » Additional Include Directories
Путь к библиотекам SFML (/lib) в Linker » General » Additional Library Directories
Эти пути одинаковы в режиме Debug и Release,поэтому установите их глобально для вашего проекта(«All configurations»).
Следующим шагом будет линковка к вашему проекту необходимых вам библиотек SFML (файлов .lib).SFML состоит из 5 модулей (system, window, graphics, network and audio) и одной библиотеки для каждого из них.
Библиотеки должны быть добавлены в свойствах проекта,в Linker » Input » Additional Dependencies.Добавьте все библиотеки SFML,которые вам требуются,например » sfml-graphics.lib», » sfml-window.lib» и » sfml-system.lib».
Важно прилинковать библиотеку,соответствующую конфигурации — «sfml-xxx-d.lib» для Debug и «sfml-xxx.lib» для Release.Неправильное сочетание может привести к ошибкам.
Согласно показанным здесь настройкам ваш проект будет прилинкован к динамической версии SFML,которая требует DLL-файлы.Если вы хотите избавиться от этих DLL-файлов и иметь SFML напрямую встроенную в ваш .exe-файл,вы должны прилинковать статическую версию.Статические библиотеки SFML имеют «-s» суффикс — «sfml-xxx-s-d.lib» для Debug и «sfml-xxx-s.lib» для Release.Также вы должны определить макрос SFML_STATIC в опциях препроцессора вашего проекта.
Если вы не знаете разницы между динамической и статической библиотекой и не знаете какую использовать,вы можете найти о них подробную информацию в Google.
В этом уроке я хотел бы показать, как подключить библиотеку SFML к среде разработки Visual Studio.
SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений.

Распаковываем куда вам угодно, на всякий случай старайтесь избегать русских букв в папках пути.
Запускаем Visual Studio, файл->создать->проект->пустой проект. (Имя проекта, решений и путь выбирайте сами).

Добавляем исходный код – для этого слева в обозревателе решений находим вкладку «Файлы исходного кода»->правый клик->добавить->создать элемент->файл C++ (имя main.cpp)->добавить.
Далее вставляем вот этот тестовый код в файл main.cpp
После попытки запуска мы сталкиваемся с подобной проблемой:

Для того, чтобы всё это работало – необходимо подключить библиотеку SFML.
Для начала, все действия мы делаем для конфигурации Debug.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации->C++->общие
В пункте «дополнительные каталоги включаемых файлов прописываем путь до раннее распакованного архива с библиотекой (+ \include.)
Например: C:\Program Files\SFML-2.3.2\include

Затем идем в компоновщик->общие и в пункте «дополнительные каталоги библиотек» прописываем путь к папке lib;

Далее идем в компоновщике во вкладку ввод и в первой строке «дополнительные зависимости» вписываем перед всеми библиотеками следующую строчку:

Только что подключили основные необходимые для работы библиотеки.
Последний штрих – идем во вкладку C++->препроцессор и в первой строке «определение препроцессора» в самом начале дописываем: SFML_DYNAMIC;

Напоминаю, все действия мы делали для конфигурации Debug. Все тоже самое нужно проделать для конфигурации Release.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации. В левом верхнем углу находим Конфигурация, нажимаем на слайдер и выбираем Release.
И повторяем несколько предыдущих пунктов.





Запустим и словим ошибку. Зато соберется проект и появится папка debug.
Теперь идем в папку бинарников “bin”, которую вы скачали и распаковали с библиотекой (мой вариант D:\SFML-2.2\bin\) и копируем всё содержимое этой папки (dll файлы типа sfml-graphics-2.dll) в папку с вашим проектом в папку debug (после сборки появилась эта папка), но не в тот debug, где лежит файл с исходным кодом “main.cpp”, а тот, где появляется exe файл.
В эту же папку копируем и вот эти файлы :
Все эти файлы можно скачать в zip архиве, который я прикрепил снизу.
Теперь проект можно запустить и если вы всё сделали правильно, то увидите зелёный круг как на скриншоте ниже:

Прежде чем приступить к весёлой части с кодом, придётся пройти муторную, но важную часть с настройкой sfml. Данный гайд написан для Visual Studio 2019 на Windows. Установка для VS 2017 практически идентична, но могут быть незначительные отличия. Для других платформ крайне рекомендуется поискать гайд по настройке именно для вашего окружения. Ошибки на этом этапе, в лучшем случае, не дадут проекту скомпилироваться, в худшем – скомпилируются неправильно и вынесут вам мозг.
Переходим на главный сайт библиотеки и скачиваем последнюю стабильную версию (2.5.1 к моменту написания статьи). Выбираем для С++ 15(2017) 32-бита. Установка 64-битной версии идентична, для экономии времени сосредоточимся на более универсальной.
Распаковываем архив в удобную директорию, можно сразу сохранить в буфер путь до содержимого папки, в моем случае – это C:\SFML-2.5.1\ .
Открываем VS-2019, создаем новое консольное приложение Windows, Называем проект FirstGameEngine, получаем консольный хеллоуворлд.
Теперь включаем концентрацию на максимум, задача довольно простая, но почти каждый допускает ошибку во время первой настройки. Открываем вкладку Проект , в самом низу выбираем свойства: FirstGameEngine .

Выставляем конфигурацию Все конфигурации и платформу Win32 . Выбираем пункт С/С++ → Общие , находим Дополнительные каталоги включаемых файлов – здесь нужно указать путь до папки include . Вставляем путь из буфера и дописываем, как сделал я. Если сомневаетесь, нажмите изменить и найдите папку через эксплорер.

Спускаемся в Компоновщик → Дополнительные каталоги библиотек и проделываем тоже самое, но уже с папкой lib .

Переключаем Конфигурацию на Debug. Открываем Компоновщик → Ввод → Дополнительные зависимости . Копируем этот перечень sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib; и аккуратно, не стирая и не перезаписывая уже имеющиеся записи, вставляем его в начало списка.

Переключаемся на Release и так же аккуратно вставляем sfml-graphics.lib;sfml-window.lib;sfml-system.lib;sfml-audio.lib;
Теперь поочередно запускаем Debug и Release, ловим по ошибке. Этот шаг необходим, чтобы студия создала папки проекта с exe-файлами. Сразу найдите эти каталоги. Их расположение зависит от настроек студии. Обычно они создаются на уровень выше папки с кодом. Теперь возвращаемся к распакованному архиву sfml, находим папку bin и копируем все бинарники с символом d в названии плюс openal32.bin в папку Debug, и то же самое без d + openal32.bin в Release.
Должна получиться такая картина:

Самая нудная часть позади.
Написание первого игрового движка на С++.
К файлу FirstGameEngine.cpp мы вернемся чуть позже. Его единственная задача – это запустить в функции main() наш движок.
Класс персонажа.
Bob – простой класс для представления фигурки персонажа, управляемой игроком. Код класса будет легко расширяться, а что самое главное – его несложно переписать под любой другой игровой объект, который вы захотите добавить. Для этого потребуется заменить текстуру и описать поведение нового объекта в методе update().
Создаем новый заголовочный файл. Кликаем Проект → Добавить новый элемент → Файл заголовка. Называем Bob.h и объявляем следующие поля и методы:
Здесь мы объявили поля типа Texture и Sprite. Дальше мы свяжем их, и любое действие на экране с объектом Sprite будет сопровождаться изображением Боба:

Сохраните это изображение в директорию FirstGameEngine/FirstGameEngine.
Bob.cpp
Приступим к реализации.
По той же схеме создаем файл Bob.cpp, только выбираем Файл С++ . Теперь добавляем в файл код:
В конструкторе мы установили значение переменной m_Speed на 400. Это значит, что Боб пересечет экран шириной в 1920 пикселей за 5 секунд. Также мы загрузили файл Bob.jpg в Texture и связали его с объектом Sprite. В переменных m_Position.x и m_Position.y установлено начальное положение Боба. Не забывайте, что в С++ координаты отсчитываются от верхнего левого угла и ось-у направлена вниз, не потеряйте Боба.
Функция update обрабатывает два If. Первое If проверяет, нажата ли правая кнопка (m_RightPressed), а второе следит за левой (m_LeftPressed). В каждом If скорость (m_Speed) умножается на elapsedTime. Переменная elapsedTime рассчитывается в функции Start движка (класс Engine). Им мы сейчас и займемся.
Engine.h
Создаем новый заголовочный файл Engine.h:
Класс библиотеки SFML, RenderWIndow, используется для рендера всего, что есть на экране. Переменные Sprite и Texture нужны для создания фона. Также в заголовке мы объявили экземпляр класса Bob.
Engine.cpp
Здесь мы реализуем конструктор и функцию start(). Создаем файл класса так же, как для Bob.cpp, и добавляем в него код:
Конструктор получает разрешение экрана и разворачивает игру на весь экран с помощью m_Window.create, загружается Texture и связывается с объектом Sprite.
В качестве фона вы можете использовать любое изображение, ниже я выложу своё. Рекомендую подобрать или масштабировать его по размерам вашего рабочего стола. Пункт не критичный, но смотрится приятнее, а в рамках данного курса мы не будем разбирать работу с окном и его размерами. Переименуйте файл в background.jpg и поместите в каталог FirstGameEngine/FirstGameEngine .
Можете воспользоваться моим примером:

Игровой цикл.
Обрабатываем пользовательский ввод
Функция input обрабатывает нажатия клавиш через константу Keyboard::isKeyPressed, предоставляемую SFML. При нажатии Escape m_Window будет закрыто. Для клавиш A и D вызывается соответствующая функция движения.
Обновляем игровые объекты
Теперь опишем функцию update. Её задача вызвать аналогичную функцию обновления состояния у всех игровых объектов. В нашем случае это только Bob.
Создаём файл Update.cpp и добавьте в него код:
Отрисовка экрана.
Это последняя функция класса Engine, её задача – отрисовать все объекты текущего экрана. Создайте файл Draw.cpp и добавьте в него код:
Экран каждый виток цикла очищается методом clear. Первым делом должен быть отрисован фон, чтобы потом поверх него можно было поместить Боба.
Запускаем движок!
Теперь вернемся к FirstGameEngine.cpp.
Наш игровой движок, как и положено первой работе, получился очень простым: он умеет только двигать главный объект и закрывать программу. Он не умеет обрабатывать столкновения, работать с интерфейсом и еще много чего. Возможно, этим мы займемся позже. Однако он отлично описывает то, как строится ядро игрового проекта с нуля. К тому же, в него довольно легко добавлять новые объекты и расширять функционал. Попробуйте, в качестве практики, добавить второго боба, управляемого клавишами J и L, у вас уже есть для этого все необходимые знания. Или поменяйте фон, если Боб выходит за границу экрана. Задачка уже посложней, но тоже вам по силам. =)
Эта инструкция есть то, что Вы должны прочитать, если собираетесь использовать SFML совместно со средой разработки Visual Studio (Visual C++ компилятор). It will explain how to configure your SFML projects.
Установка SFML
Сначала, скачайте SFML SDK с официального сайта.
Вы должны скачать тот SDK, который сопоставим с вашей версиец Visual C++. Например, библиотека, скомпилированная для VC++ 10 (Visual Studio 2010), несовместима с VC++ 12 (Visual Studio 2013). Если вы не нашли нужного SDK для вашей версии Visual C++, нужно самому скомпилировать SFML.
Вы можете распаковать SFML куда хотите. Копировать заголовочные файлы и библиотеки в папку к установленной Visual Studio не рекомендуется. Лучше хранить SFML в отдельной папке, особенно если вы намерены использовать несколько версий библиотеки или различные компиляторы.
Создание и настройка SFML проекта
В свойствах проекта добавьте:
- The path to the SFML headers (/include) to C/C++ » General » Additional Include Directories
- The path to the SFML libraries (/lib) to Linker » General » Additional Library Directories

Linker » Input » Additional Dependencies
(Компоновщик » Ввод » Дополнительные зависимости)


Зависимости для каждого модуля, добавьте суффикс -d если вы хотите прилинковать SFML для отладки.
You might have noticed from the table that SFML modules can also depend on one another, e.g. sfml-graphics-s.lib depends both on sfml-window-s.lib and sfml-system-s.lib. If you static link to an SFML library, make sure to link to the dependencies of the library in question, as well as the dependencies of the dependencies and so on. If anything along the dependency chain is missing, you willget linker errors.
Читайте также:
- В опере загрузка не заканчивается
- Программа opera installer повреждена и ее не удается открыть переместите программу в корзину
- After effects error internal verification failure sorry что делать
- Как рисовать текстуры в фотошопе для blender
- Эксель как узнать имя таблицы
Подключение библиотеки SFML к Visual Studio
В этом уроке я хотел бы показать, как подключить библиотеку SFML к среде разработки Visual Studio.
SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений.
Перед тем как начать. Нужно пройти по ссылке: http://www.sfml-dev.org/download/sfml/2.3.2/ (это официальный сайт) и скачать библиотеку. Выбирайте версию для своей VS.

Распаковываем куда вам угодно, на всякий случай старайтесь избегать русских букв в папках пути.
Запускаем Visual Studio, файл->создать->проект->пустой проект. (Имя проекта, решений и путь выбирайте сами).

Добавляем исходный код – для этого слева в обозревателе решений находим вкладку «Файлы исходного кода»->правый клик->добавить->создать элемент->файл C++ (имя main.cpp)->добавить.
Далее вставляем вот этот тестовый код в файл main.cpp
#include int main() { sf::RenderWindow window(sf::VideoMode(200, 200), "SFMLworks"); 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; }
После попытки запуска мы сталкиваемся с подобной проблемой:

Для того, чтобы всё это работало – необходимо подключить библиотеку SFML.
Для начала, все действия мы делаем для конфигурации Debug.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации->C++->общие
В пункте «дополнительные каталоги включаемых файлов прописываем путь до раннее распакованного архива с библиотекой (+ \include.)
Например: C:\Program Files\SFML-2.3.2\include

Затем идем в компоновщик->общие и в пункте «дополнительные каталоги библиотек» прописываем путь к папке lib;

Далее идем в компоновщике во вкладку ввод и в первой строке «дополнительные зависимости» вписываем перед всеми библиотеками следующую строчку:
sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib;

Только что подключили основные необходимые для работы библиотеки.
Последний штрих – идем во вкладку C++->препроцессор и в первой строке «определение препроцессора» в самом начале дописываем: SFML_DYNAMIC;

Напоминаю, все действия мы делали для конфигурации Debug. Все тоже самое нужно проделать для конфигурации Release.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации. В левом верхнем углу находим Конфигурация, нажимаем на слайдер и выбираем Release.
И повторяем несколько предыдущих пунктов.





Запустим и словим ошибку. Зато соберется проект и появится папка debug.
Теперь идем в папку бинарников “bin”, которую вы скачали и распаковали с библиотекой (мой вариант D:\SFML-2.2\bin\) и копируем всё содержимое этой папки (dll файлы типа sfml-graphics-2.dll) в папку с вашим проектом в папку debug (после сборки появилась эта папка), но не в тот debug, где лежит файл с исходным кодом “main.cpp”, а тот, где появляется exe файл.
В эту же папку копируем и вот эти файлы :
Все эти файлы можно скачать в zip архиве, который я прикрепил снизу.
Теперь проект можно запустить и если вы всё сделали правильно, то увидите зелёный круг как на скриншоте ниже:

Если возникла вот такая проблема:

Советую воспользоваться программой: Dll-Files Fixer.
| Прикрепленный файл | Размер |
|---|---|
| msvcp.zip | 550.93 кб |
| msvcr.zip | 1.61 Мб |
Геометрические фигуры мультимедийной библиотеки SFML для разработки игр на C++

Перед тем как приступить к рассмотрению темы, геометрические фигуры, разберём каркас программы на С++, которая использует библиотеку SFML.
Для работы с кодом мы будем использовать Visual Studio 2022 и библиотеку SFML. Как подключить библиотеку SFML к Visual Studio 2022 вы можете узнать прочитав статью «Как настроить библиотеку SFML в Visual Studio»
Каркас программы библиотеки SFML


Переменной window назначен тип графическое окно ( RenderWindow ).
Параметр VideoMode ( 1500, 900 ), определяет размер графического окна по горизонтали 1500 и по вертикали 900.

L»Новый проект» — название графического окна, Style::Default — стиль окна по умолчанию.
Цикл while (window.isOpen()) будет работать пока графическое окно открыто.
В переменную event типа Event, сохраняется событие, например нажатие мышкой на крестик окна или нажатие клавиши на клавиатуре.
Цикл while (window.pollEvent(event)) включается в работу когда возникает какое-либо событие и записывает его с помощью метода pollEvent( ) в переменную event. Далее в теле цикла идёт обработка событий, в один момент времени может быть обработано только одно событие.
![]()
![]()
Метод clear(Color::Blue), очищает графическое окно и разукрашивает его в синий цвет.
![]()
Метод display() выводит нарисованные объекты методом draw() в графическое окно.
Прямоугольник

RectangleShape тип, который создаёт объект прямоугольник с методами и свойствами изменения его параметров, а также его анимации.

Метод draw() рисует объекты в графическом окне, при отсутствии метода draw() и display(), графическое окно будет пустым, методы размещаются внутри цикла while (window.isOpen).
![]()
Метод setFillColor() устанавливает цвет заливки прямоугольника.

![]()
Метод setPosition() задаёт координаты прямоугольника, для точки координат фигуры, которая по умолчанию находится в верхнем левом углу фигуры.


Метод setOutlineThickness() устанавливает толщину линии контура фигуры. Метод setOutlineColor() задаёт цвет линии контура фигуры.

![]()
Метод setRotation() устанавливает угол поворота фигуры с центром поворота в точке координат.


![]()
Метод setOrigin() изменяет координаты точки координат и позволяет переместить их с левой верхней точки в центр фигуры.


Для переменной textur установлен тип Texture, который даёт возможность с помощью метода LoadFromFile() загрузить картинку в переменную.
Файл картинки должен находится в каталоге проекта visual studio c++.

Метод setTexture(&) устанавливает текстуру для прямоугольника.

![]()
Метод rotate() изменяет угол поворота фигуры. Метод move() изменяет положение фигуры по горизонтали и по вертикали.

В некоторых случаях, когда приложение выполняется быстро, вы можете наблюдать визуальные артефакты. Причина заключается в том, что частота обновления вашего приложения не синхронизирована с вертикальной частотой монитора, в результате чего, нижняя часть предыдущего кадра накладывается на верхнюю часть следующего кадра.
Решение заключается во включении вертикальной синхронизации методом setVerticalSyncEnabled().

Круг


CircleShape тип, который создаёт объект круг circle с методами и свойствами такими же как у прямоугольника.
![]()

Метод setScale() позволяет увеличивать масштаб круга по вертикали и горизонтали.
![]()

Метод setPointCount() устанавливает количество вершин у круга.
Многоугольник


ConvexShape тип, который создаёт объект многоугольник convex с методами и свойствами такими же как и у предыдущих фигур, в параметрах переменной convex указываем количество вершин многоугольника.
Метод setPoint() устанавливает координаты для каждой вершины многоугольника.
Перед тем как начнёте указывать координаты вершин многоугольника нарисуйте будущую фигуру на клетчатой бумаге, так будет проще определить координаты вершин для многоугольника. Порядок в котором будут определены точки многоугольника очень важен. Все точки должны быть определены почасовой стрелки либо против часовой стрелки. Если вы будете определять координаты в хаотичном порядке, то форма многоугольника будет неправильной.

Более подробную инструкцию по геометрическим фигурам SFML вы можете увидеть посмотрев видео «Геометрические фигуры SFML C++».
