Знакомство с игровым движком LÖVE 2D

В этой статье я познакомлю вас с основами игрового движка LÖVE.
Эта статья частично основана на информации с вики-страницы Love2D (ссылка в сноске)

Что такое игровой движок LÖVE?

LÖVE — это кроссплатформенный движок для 2D-видеоигр с открытым исходным кодом, использующий язык программирования LUA. Его API использует преимущества библиотек SDL и OpenGL, чтобы предоставить вам легкий доступ к видео и звуковым функциям вашего компьютера. Полностью бесплатный, кроссплатформенный и простой в освоении и использовании, это идеальный движок для начала разработки игр и практики программирования.

Установка фреймворка LÖVE

Чтобы иметь возможность использовать игровой движок LÖVE на своем компьютере, вам необходимо сначала установить его. Для этого вам необходимо загрузить версию LÖVE, соответствующую вашей компьютерной системе. Последнюю версию LÖVE можно легко загрузить с официального сайта https://love2d.org/#download.

В системе Windows, если в какой-либо момент установщик попросит вас добавить LÖVE к вашему пути, установите флажок и примите его.

После завершения процесса установки вы можете проверить версию LÖVE в командной строке / PowerShell (Windows) или терминале (Mac / Linux), набрав:

love --version

Версия 11.3 (Mysterious Mysteries) на момент написания этой статьи для стабильной версии.

Чтобы иметь возможность программировать с LÖVE, вам также понадобится IDE или текстовый редактор.
Следующий шаг не является обязательным, но я рекомендую вам установить и использовать Visual Studio Code от Microsoft. чтобы легко следовать последней главе этой статьи. Visual Studio Code — это современная кроссплатформенная IDE, которая предоставит вам доступ к некоторым действительно удобным расширениям для программирования с помощью LÖVE.

Установка кода Visual Studio и расширения LÖVE (поддержка Love2D)

Сначала загрузите и установите последнюю версию Visual Studio Code, соответствующую вашей компьютерной системе. https://code.visualstudio.com/Download

Когда установка будет завершена, запустите программу, затем нажмите кнопку «Расширения» (Ctrl + Shift + x) в левом боковом меню, затем введите Love2D Support в строке поиска вверху слева. боковая панель Marketplace расширений.

Установите расширение, нажав синюю кнопку Установить.

После установки расширения вам нужно будет настроить его, нажав на маленькую шестеренку вверху под заголовком и выбрав Настройки расширения в раскрывающемся меню.

Вы должны указать правильный путь к LÖVE.

Пример для Linux:
/usr/bin/love

Пример для Windows:
C:\Program Files\Love\love.exe

Благодаря расширению у вас теперь есть доступ к Intelissense для LÖVE API (завершение кода), доступ к интерактивной справке при наведении курсора мыши и ярлык (Alt + L) для прямого запуска и тестирования. ваш код.

Функции обратного вызова

LÖVE использует различные предопределенные функции обратного вызова для удовлетворения различных потребностей. В программировании функция обратного вызова вызывается в определенное заранее определенное время, в отличие от обычной функции, которая что-то делает в момент вызова.

Например, функция love.load вызывается только один раз в начале кода и перед любым другим обратным вызовом, в отличие от функции love.update, которая вызывается постоянно.
В программировании функции отлично подходят для организации и повышения эффективности кода или для повторного использования.

Функция основного цикла love.run отвечает за выполнение всех этих функций обратного вызова. Эта функция по умолчанию обрабатывается LÖVE, и в большинстве случаев вам не нужно объявлять ее в своем коде.

3 основные функции обратного вызова LÖVE:

love.load

Функция love.load вызывается только один раз при запуске. Здесь вы обычно инициализируете переменные и загружаете свои ресурсы. Вы можете делать все эти вещи в любом другом месте, но, делая их здесь, вы гарантируете, что они будут выполнены только один раз.

love.update

Функция love.update вызывается непрерывно (повторно) и именно в ней выполняется большинство ваших операций и вычислений.
(dt) после имени обратного вызова Функция означает дельта-время и представляет количество секунд с момента последнего вызова этой функции относительно скорости вашей машины (скорости вашего компьютера/процессора). Это гарантирует, что ваша программа будет работать с одинаковой скоростью на любом компьютере.

love.draw

Функция love.draw предназначена для операций рисования, внутри нее должны вызываться все функции типа love.graphics.draw.
Как и love .update, эта функция также вызывается непрерывно. Все операции, выполняемые внутри этой функции и помещенные в ее конец, повлияют на операции в начале.

Все функции обратного вызова являются необязательными, но в большинстве проектов используются как минимум 3 основные функции обратного вызова, указанные выше.

Каркас программы LÖVE

Вот как выглядит скелет кода игры/программы в LÖVE, когда эти 3 основные функции обратного вызова написаны вместе:

В программировании мы обычно комментируем некоторые части нашего кода, чтобы запомнить или дать другим информацию о том, что делает конкретная часть кода. С помощью LÖVE и Lua вы можете написать комментарий, используя «--» перед текстом/строкой. Этот элемент будет игнорироваться программой и не выполняться. Это повторяющаяся строка «-- Your code here» в приведенном выше примере кода.

Создание вашей первой программы с LÖVE

Для нашего первого примера программы я советую вам создать новую папку на вашем компьютере, которую мы назовем HelloWorld.

Если Visual Studio Code не запущен, пришло время открыть его, перейти в меню Файл и нажать Открыть папку….
Наведите курсор на новый HelloWorldпапку, которую вы только что создали, и выберите ее.

Теперь вы находитесь в соответствующей папке. Чтобы начать кодирование, вам нужно создать новый файл, перейдя в меню Файл и нажав Новый файл (Ctrl + N) или используя маленькую страницу значок + на левой боковой панели.

В этом примере программы мы будем использовать только функцию обратного вызова love.draw. Вы можете записать в свой код 3 основные функции, перечисленные в предыдущей главе, если хотите, но в следующем примере мы будем использовать только одну.

Создайте файл с именем main.lua, мы введем в него наши первые строки кода:

Сохраните файл (Ctrl + S) и используйте сочетание клавиш (Alt + L), чтобы запустить свое первое приложение в LÖVE. Если все пойдет по плану, вы должны увидеть окно ниже:

В следующей статье я расскажу об основах программирования с помощью LÖVE, и мы узнаем, как создать первую мини-игру. А пока вы также можете заглянуть в мой блог https://riccicedricdesign.net

Если вам нужна дополнительная информация об игровом движке LÖVE и языке программирования Lua, я приглашаю вас ознакомиться с справочными ссылками ниже:

LÖVE (Love2d)
https://love2d.org/wiki/Main_Page

Программирование на Lua
https://www.lua.org/pil/

Спасибо, что прочитали эту статью, и следите за новостями.