Важно
Этот туториал рассчитан на людей, у которых есть опыт программирования на Lua, если нет, то отправляйтесь исправлять ситуацию. Но он отлично подойдет и для тех, кто никогда не программировал на Lua.

Что такое 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)


  1. Flakky
    22.12.2016 23:39

    Интересно.
    Только стоило упомянуть для тех, кто не знаком, что цена — 79$ в месяц для нормальной версии (SDK, отсутсвие сплешскрина и прочее.)


    1. Shchvova
      23.12.2016 01:56

      Это очень давно поменялось. Сейчас все полностью бесплатно. Кастомизировать сплеш можно платным плагином за $99 в год. Что $8.25 в месяц, при желании.
      При чем "бесплатно" — это без выплат (royalty, как в Unreal) и без ограничений по доходам (как в Юнити). Просто бесплатно.


    1. Shchvova
      23.12.2016 02:00

      А, извините. Вы о Corona Enterprise. Это, немного другой продукт чем Corona SDK. Он необходим что бы самому писать бинарные плагины на нативных языках (C/C++/Java). Что бы писать игры и приложения при помощи Corona Simulator (как в статье) оно совершенно не нужно.


      1. KumoKairo
        23.12.2016 10:08

        Бинарные плагины на нативных языках — имеются в виду любые нативные плагины под платформу? Например какая-нибудь кастомная аналитика или рекламный движок?


        1. Lerg
          25.12.2016 20:21

          Да.


  1. askeet
    23.12.2016 10:31

    А какие возможности для свободного применения Corona SDK в приложениях? Я так понимаю он, предназначен для создания 2D игр только средствами движка и при этом без возможности использования подключения внешних модулей и например не получится встроить какой-нибудь модуль рекламы и прочии «плюшки» для free to play?


    1. Lerg
      25.12.2016 20:22

      У короны довольно обширная библиотека плагинов, есть и аналитики, и реклама и ещё куча всего.


    1. kamenevn
      27.12.2016 01:49

      Рекламу и различные «плюшки» можно подключить(в разумных пределах).
      Для рекламы либо ищите плагин от компании, где Вы будете брать рекламу, либо пишите сами на lua, либо пишите нативно и подключаете с помощью Corona Cards.


  1. eReS
    23.12.2016 15:45
    +1

    Какие преимущества по сравнению с тем же Godot?


    1. RussDragon
      23.12.2016 18:51

      Честно говоря, перед всеми Луа ддвижками Moai, как по мне, доминирует. Условиями использования, поддерживаемыми платформами, скоростью/архитектурой. Пробовал разные движки, в итоге для мелких прототипов и визуализации некоторых алгоритмов стал использовать Love2D из-за его простоты, а для чего-то серьезного держу где-то архив с Moai.


      1. KumoKairo
        26.12.2016 09:31

        А как насчёт Defold? Пробовали уже?
        Напишите в двух словах чем Moai лучше чем всё остальное, что пробовали


  1. gnomron
    27.12.2016 01:50

    На хабре уже есть статьи про начало работы в Короне. Хотелось бы например прочитать про систему free-to-pay и желательно с примером кода и комментариями по продаже внутри игрового имущества в Гугле или Амазоне.