Добавлен DasBro,
опубликован
Уроки по Love и Lua. Урок 0. Введение.
Содержание:
Всех приветствую на очередном уроке по Love. Сегодня мы рассмотрим структуру программы,а именно стандартные события(функции) в Love. Для начала откроем редактор и откроем наш файл main.lua .Начнем мы с самых стандартных функций.
function love.load() --Функция,вызывающаяся в первый кадр игры.
end
Данная функция вызывается в начале игры.С помощью нее мы можем загрузить необходимые игровые объекты и т.п. Вот небольшой пример:
numberA = 0;
function love.load()
numberA = 5 + 5;
end
Идем дальше. Функция love.update() вызывается на каждый кадр и в целом в данной функции и выполняется вся игровая механика.Вот пример
mousePosX = 0;
mousePosY = 0;
function love.update()
mousePosX,mousePosY = love.mouse.getPosition(); --Текущие координаты курсора в окне программы
end
Идем дальше.Третья основная функция - это love.draw() .Данная функция отвечает за отрисовку всего графического контента(будь это кнопки или персонаж).Вот пример:
function love.draw()
love.graphics.cirlce("line",100,100,10,25); --Рисует кружок
end
Это были три основные функции. Теперь об остальных.Функция love.keyreleased() работает с нажатием кнопки на клавиатуре.
function love.keyreleased(key)
if key == "escape" then --Если нажата кнопка Esc(Escape),то окно игры закроется.
love.event.quit();
end
end
В данном случае здесь имеется один параметр key .Он хранит в себе KeyConstant,то есть кнопки на клавиатуре, а в самой функции можно через if инструкцию сравнить эту клавишу с нажатой клавишей.
Вот здесь список этих констант: love2d.org/wiki/KeyConstant
Вот здесь список этих констант: love2d.org/wiki/KeyConstant
Есть похожая функция love.keypressed() .В данном случае она выполняет аналогичную функцию что и love.keyreleased() ,только она проверяет,зажата ли клавиша(пример приводить не буду и так понятно что она делает).
Есть аналогичные события как под мышь(константы: love2d.org/wiki/MouseConstant само событие: love2d.org/wiki/love.mousereleased ) так и под геймпад(love2d.org/wiki/love.gamepadreleased).
Есть главное событие love.run() ,которая не обязательна для создания(она создаться по умолчанию). В ней создается цикл в котором имеется множество if инструкций.Именно это событие и запускает такие события как love.update() или love.load() .
И последнее событие - это love.textinput() ,в котором можно вводить какой-то текст.Для конкретики вот пример:
function love.load()
text = " "
end
function love.textinput(t)
text = text .. t
end
Вот собственно и все. Также есть у нас и второй файл conf ,но в нем мы работаем с одним событием - это love.conf(configuration) .В данном случае у нас есть также один параметр,с помощью него мы и меняем разные параметры окна.Примерчик:
function love.conf(configuration)
configuration.window.title = "My First Game"; --Задает заголовок программы
configuration.window.icon = nil; --Иконка программы
configuration.window.width = 800; --Ширина окна
configuration.window.height = 600; --Высота окна
end
Вот собственно и все.В следующем уроке мы будем разбирать Love API.
Содержание
`
ОЖИДАНИЕ РЕКЛАМЫ...
Комментарии пока отсутcтвуют.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.