Что такое Corona SDK?
Corona SDK — это кроссплатформенный игровой движок, использующий Lua для описания игровой логики.
Позволяет экспортировать приложения под различные платформы, в том числе и мобильные.
Возможность экспорта под такие платформы:
- Windows
- Mac OS
- iPhone/iPad
- Android
- tvOS
Начнем!
Регистрируемся на официальном сайте, скачиваем Corona SDK, с установкой проблем возникнуть не должно. После установки, запускаем ярлык «Corona Simulator», который должен появиться на рабочем столе.
Откроется менеджер проектов и специальная консоль.
Нажимаем «New project». Вводим название проекта, остальное оставляем, как есть, нажимаем на «OK».
Должно открыться такое окно.
И папка проекта в проводнике.
Приступаем к программированию
Я использую «Notepad++» для редактирования кода, но подойдет любой, другой текстовый редактор.
Открываем файл «main.lua». После открытия, вы увидите, что-то вроде этого.
Я буду использовать эти изображения, которые я нарисовал в программе «Graphics Gale». Нужно закинуть их в корень папки проекта.
Игрок.
Трава.
Для начала, подключим физику, загрузим изображения и назначим координаты для игрока.
local physics = require("physics")
physics.start() -- запускаем физику.
player = display.newImage("player.png") -- загружаем изображение.
player.x = 100
player.y = 100 -- меняем координаты игрока.
physics.addBody(player,"dynamic") -- включаем физику для игрока, "dynamic" объекты - действуют за законами гравитации.
Нажимаем Ctrl + S, если вы все сделали правильно, игрок начнет падать вниз.
Добавим землю
grass_block={} -- массив блоков
for i=0,5 do
grass_block[i]=display.newImage("grass.png")
grass_block[i].x=grass_block[i].x+i*64
grass_block[i].y=player.y+100
physics.addBody(grass_block[i],"static") -- "static" объекты - игнорируют гравитацию.
end
Результат:
Заключение
Вот такой вот получился краткий урок. В следующем уроке, я расскажу, как сделать управление игроком, добавлю фон, и расскажу тонкости настроек для мобильных платформ.
Комментарии (12)
askeet
23.12.2016 10:31А какие возможности для свободного применения Corona SDK в приложениях? Я так понимаю он, предназначен для создания 2D игр только средствами движка и при этом без возможности использования подключения внешних модулей и например не получится встроить какой-нибудь модуль рекламы и прочии «плюшки» для free to play?
Lerg
25.12.2016 20:22У короны довольно обширная библиотека плагинов, есть и аналитики, и реклама и ещё куча всего.
kamenevn
27.12.2016 01:49Рекламу и различные «плюшки» можно подключить(в разумных пределах).
Для рекламы либо ищите плагин от компании, где Вы будете брать рекламу, либо пишите сами на lua, либо пишите нативно и подключаете с помощью Corona Cards.
eReS
23.12.2016 15:45+1Какие преимущества по сравнению с тем же Godot?
RussDragon
23.12.2016 18:51Честно говоря, перед всеми Луа ддвижками Moai, как по мне, доминирует. Условиями использования, поддерживаемыми платформами, скоростью/архитектурой. Пробовал разные движки, в итоге для мелких прототипов и визуализации некоторых алгоритмов стал использовать Love2D из-за его простоты, а для чего-то серьезного держу где-то архив с Moai.
KumoKairo
26.12.2016 09:31А как насчёт Defold? Пробовали уже?
Напишите в двух словах чем Moai лучше чем всё остальное, что пробовали
gnomron
27.12.2016 01:50На хабре уже есть статьи про начало работы в Короне. Хотелось бы например прочитать про систему free-to-pay и желательно с примером кода и комментариями по продаже внутри игрового имущества в Гугле или Амазоне.
Flakky
Интересно.
Только стоило упомянуть для тех, кто не знаком, что цена — 79$ в месяц для нормальной версии (SDK, отсутсвие сплешскрина и прочее.)
Shchvova
Это очень давно поменялось. Сейчас все полностью бесплатно. Кастомизировать сплеш можно платным плагином за $99 в год. Что $8.25 в месяц, при желании.
При чем "бесплатно" — это без выплат (royalty, как в Unreal) и без ограничений по доходам (как в Юнити). Просто бесплатно.
Shchvova
А, извините. Вы о Corona Enterprise. Это, немного другой продукт чем Corona SDK. Он необходим что бы самому писать бинарные плагины на нативных языках (C/C++/Java). Что бы писать игры и приложения при помощи Corona Simulator (как в статье) оно совершенно не нужно.
KumoKairo
Бинарные плагины на нативных языках — имеются в виду любые нативные плагины под платформу? Например какая-нибудь кастомная аналитика или рекламный движок?
Lerg
Да.