Использование средств библиотеки SFML для написания игровых проектов | Статья в журнале «Техника. Технологии. Инженерия»

Отправьте статью сегодня! Журнал выйдет 1 июня, печатный экземпляр отправим 5 июня.

Опубликовать статью в журнале

Авторы: , ,

Рубрика: Информатика и кибернетика

Опубликовано в Техника. Технологии. Инженерия №2 (8) апрель 2018 г.

Дата публикации: 04.04.2018

Статья просмотрена: 492 раза

Библиографическое описание:

Коптенок Е. В., Храмченков Е. В., Храмченко В. Д. Использование средств библиотеки SFML для написания игровых проектов // Техника. Технологии. Инженерия. — 2018. — №2. — С. 18-22. — URL https://moluch.ru/th/8/archive/85/3268/ (дата обращения: 20.05.2019).



В качестве тем курсовых работ по программированию студентам часто предлагается разработка компьютерных игр. Такая тематическая направленность самостоятельной работы повышает мотивацию обучаемых и их интерес к предмету, позволяет развивать мышление и усовершенствовать навык работы с алгоритмическими конструкциями.

Существует множество графических библиотек для написания игр, например, SFML, SDL, OpenGL, DirectX и так далее [1]. В написании курсовых работ готовые конструкторы не используются, так как не позволяют в полной мере продемонстрировать знания программирования, потому что на их основе можно создать игру, написав минимальное количество строчек кода.

Библиотека SFML позволяет разработать игровой проект, организовать вывод графических изображений и звуков, при этом уделить значительное внимание алгоритмам игрового процесса. Значимым преимуществом графической библиотеки является её кроссплатформенность, которая позволяет написать проект в одной среде и использовать в других, перекомпилировав программу, не изменяя код.

В состав SFML входит пять модулей [1]: system, window, graphics, audio и network. Основной функцией SFML является функция отрисовки окна с заданными параметрами, такими как высота и ширина.

Средства библиотеки позволяют работать с примитивами, такими как линия, прямоугольник, круг и многоугольник, и со спрайтами, в которые можно загружать текстуры [1]. Для этого используются функции-методы loadFromFile (string) класса Image, loadFromImage (file) класса Texture, setTexture (image) класса Sprite и draw (объект) класса Window. С графическими объектами можно производить манипуляции, например, двигать их, менять размеры, угол, под которым пользователь будет видеть кадр.

Функция-метод create (VideoMode(windowWidth, windowHeight), string), относящаяся к классу Window,является основополагающей, так как используется при написании любого проекта, основанного на графической библиотеке SFML, так как открывает окно, в котором происходят все графические манипуляции.

События считываются с помощью метода pollEvent (event) класса Event.

За работу с аудиофайлами отвечает заголовочный файл SFML/Audio.hpp, который позволяет работать с длинными музыкальными и короткими звуковыми файлами, принадлежащими классам Music и Sound соответственно, и воспроизводящихся с помощью функции метода play(), определённой для каждого класса по своему.

Общая структура игровой программы представлена на рис.1. На ней показана логика вызова игровых функций из пользовательского меню [2].

Далее рассмотрена схема игрового цикла (рис.2.) [2]. При входе в функцию игры необходимо проинициализировать начальные значения уровня (загрузить из файлов текстуры и звуки уровня, установить камеру, задать параметры NPC и так далее), затем нужно отрисовать стартовое поле. После этого происходит вход в игровой цикл, условием выхода из которого является закрытие окна игры или переход на следующий уровень. Далее рассчитываются параметры, значения которых не зависят от пользовательских действий (координаты персонажей, их количество, параметры движения игровых объектов). Потом производится расчет параметров, на которые влияют действия пользователя. К таким параметрам относятся положение персонажа игрока, нанесенный урон, активация флагов NPC и другие. Затем строится и отрисовывается кадр, после чего происходит возврат в начало цикла.

Рис. 1. Общая структура игровой программы

Рис. 2. Игровой цикл программы

С использованием библиотеки SFML на основе описанной логики игрового проекта написана игра «Пятнашки». В игровом цикле регистрируется ход пользователя, после чего при необходимости изменяется состояние игрового поля и осуществляется его перерасчет (совершается ход). Демонстрация работы программы представлена на рис.3., рис.4 и рис.5.

Рис. 3. Меню игры

Рис. 4. Игровой процесс

Рис. 4. Взаимодействие героя с игровым пространством

Использование средств библиотеки SFML при написании вышеописанной программы позволили уделить большее внимание игровым алгоритмам, поскольку не пришлось отдельно создавать функции для вывода графики и звука и регистрации событий.

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

Литература:

  1. Официальный сайт SFML. URL: https://www.sfml-dev.org/learn.php
  2. Коптенок Е. В., Кустова Д. В., Полшкова И. В. Применение графической библиотеки SDL2.0 для программирования компьютерных игр на языке СИ // Молодой ученый. — 2017. — № 46. — С. 30–33. — URL https://moluch.ru/archive/180/46408/ (дата обращения: 31.03.2018).
Основные термины (генерируются автоматически): SFML, NPC, класс, игровой цикл, игровой процесс, игровой проект, игровая программа, графическая библиотека, SDL, общая структура.

Похожие статьи

Применение графической библиотеки SDL2.0 для...

Любая игровая программа основывается на игровом цикле. Общий игровой цикл представлен на рисунке 2. При входе

Основные термины (генерируются автоматически): SDL, игровой цикл, библиотека, функция, игровая программа, SFML, написание игры, параметр.

Использование библиотеки SFML для визуализации результатов...

Одной из самых популярных графических библиотек, пожалуй, является SFML (Simple and Fast Multimedia Library).

Основные термины (генерируются автоматически): SFML, SDL, небесная механика, игровой цикл, форма эллипса, моделирование.

Особенности программирования логических игр средствами языка...

Одной из подходящих для этого графических библиотек является Simple DirectMedia Layer (SDL).

Рис. 1. Структурная схема игрового проекта. После начальной инициализации параметров происходит вход в игровой цикл, выход из которого организуется при помощи...

Игровой интерфейс и управление игрой | Статья в журнале...

Применение графической библиотеки SDL2.0 для... После этого происходит вход в игровой цикл, условиями выхода из которого могут являться закрытие окна игры, определенные действия пользователя (например, нажатие на кнопку) и.

Применение средств библиотеки QT5 для программирования...

Рис. 2. Схема игрового цикла. Библиотека SDL позволяет работать с графическими примитивами, такими как

При этом источник И1 имитирует процесс поступления заявок в систему.

Применение графической библиотеки SDL2.0 для... Рис. 1. Схема игрового цикла.

Перспективы развития адаптации AutoCAD с помощью Clojure

SDL, игровой цикл, библиотека, функция, игровая программа, SFML, написание игры, параметр. Средства визуального программирования на языке С++.

Объектно-ориентированное программирование. Общие...

Применение графической библиотеки SDL2.0 для... Любая игровая программа основывается на игровом цикле. Для работы с аудио необходимо подключить заголовочный файл SDL_audio.h.

Коптенок Елизавета Викторовна — Информация об авторе

Применение графической библиотеки SDL2.0 для программирования компьютерных игр на языке СИ.

Использование средств библиотеки SFML для написания игровых проектов.

Похожие статьи

Применение графической библиотеки SDL2.0 для...

Любая игровая программа основывается на игровом цикле. Общий игровой цикл представлен на рисунке 2. При входе

Основные термины (генерируются автоматически): SDL, игровой цикл, библиотека, функция, игровая программа, SFML, написание игры, параметр.

Использование библиотеки SFML для визуализации результатов...

Одной из самых популярных графических библиотек, пожалуй, является SFML (Simple and Fast Multimedia Library).

Основные термины (генерируются автоматически): SFML, SDL, небесная механика, игровой цикл, форма эллипса, моделирование.

Особенности программирования логических игр средствами языка...

Одной из подходящих для этого графических библиотек является Simple DirectMedia Layer (SDL).

Рис. 1. Структурная схема игрового проекта. После начальной инициализации параметров происходит вход в игровой цикл, выход из которого организуется при помощи...

Игровой интерфейс и управление игрой | Статья в журнале...

Применение графической библиотеки SDL2.0 для... После этого происходит вход в игровой цикл, условиями выхода из которого могут являться закрытие окна игры, определенные действия пользователя (например, нажатие на кнопку) и.

Применение средств библиотеки QT5 для программирования...

Рис. 2. Схема игрового цикла. Библиотека SDL позволяет работать с графическими примитивами, такими как

При этом источник И1 имитирует процесс поступления заявок в систему.

Применение графической библиотеки SDL2.0 для... Рис. 1. Схема игрового цикла.

Перспективы развития адаптации AutoCAD с помощью Clojure

SDL, игровой цикл, библиотека, функция, игровая программа, SFML, написание игры, параметр. Средства визуального программирования на языке С++.

Объектно-ориентированное программирование. Общие...

Применение графической библиотеки SDL2.0 для... Любая игровая программа основывается на игровом цикле. Для работы с аудио необходимо подключить заголовочный файл SDL_audio.h.

Коптенок Елизавета Викторовна — Информация об авторе

Применение графической библиотеки SDL2.0 для программирования компьютерных игр на языке СИ.

Использование средств библиотеки SFML для написания игровых проектов.

Посетите сайты наших проектов

Задать вопрос