В этом уроке мы будем создавать игру Brick Breaker с нуля, используя Corona SDK. Цель этой игры — управлять понгоподобным веслом, чтобы сбивать мяч со стопки кирпичей, пока они не сломаются.
Шаг 1: Обзор приложения
Цель этой игры — использовать весло, чтобы выбить мяч в стопку кирпичей, пока все кирпичи не сломаются, не позволяя мячу упасть на весло и улететь с экрана. В случае успеха пользователь перейдет на новый уровень, иначе игра закончится.
Шаг 2: Целевое устройство
Первое, что нам нужно сделать, это выбрать платформу, в которой мы хотим запустить наше приложение, таким образом, мы сможем выбрать размер для изображений, которые мы будем использовать.
Платформа iOS имеет следующие характеристики:
- iPad: 1024×768 пикселей, 132 т / д
- iPhone / iPod Touch: 320×480 пикселей, 163 т / д
- iPhone 4: 960×640 пикселей, 326 точек на дюйм
Поскольку Android является открытой платформой, существует множество различных устройств и разрешений. Вот некоторые из наиболее распространенных характеристик экрана:
- Google Nexus One: 480×800 пикселей, 254 точек на дюйм
- Motorola Droid X: 854×480 пикселей, 228 пикселей на дюйм
- HTC Evo: 480×800 пикселей, 217 пикселей на дюйм
В этом уроке мы сконцентрируемся на платформе iOS с графическим дизайном, специально разработанной для распространения на iPhone / iPod touch, но представленный здесь код должен также применяться к разработке Android с Corona SDK.
Шаг 3: Интерфейс
Будет отображен красочный интерфейс, включающий несколько фигур, кнопок, растровых изображений и многое другое.
Графические ресурсы интерфейса, необходимые для этого урока, можно найти в прилагаемой загрузке.
Шаг 4: Экспорт графики
В зависимости от выбранного устройства, вам может понадобиться экспортировать графику в рекомендованном ppi, вы можете сделать это в вашем любимом графическом редакторе.
Я использовал функцию « Настроить размер …» в приложении «Просмотр» в Mac OS X.
Не забудьте дать изображениям описательное имя и сохранить их в папке вашего проекта.
Шаг 5: Main.lua
Время написать наше приложение!
Откройте предпочитаемый вами редактор Lua (любой текстовый редактор будет работать, но не все редакторы предоставляют подсветку синтаксиса Lua) и подготовьтесь к написанию вашего замечательного приложения. Не забудьте сохранить файл как main.lua в папке вашего проекта.
Шаг 6: Структура кода
Мы будем структурировать наш код, как если бы это был класс. Если вы знаете ActionScript или Java, вы должны найти структуру знакомой.
|
01
02
03
04
05
06
07
08
09
10
11
|
Necesary Classes
Variables and Constants
Declare Functions
contructor (Main function)
class methods (other functions)
call Main function
|
Шаг 7: Скрыть строку состояния
display.setStatusBar (display.HiddenStatusBar)
Этот код скрывает строку состояния. Строка состояния — это строка в верхней части экрана устройства, которая показывает время, сигнал и другие индикаторы.
Шаг 8: загрузить физический движок
Мы будем использовать мощный движок Box2D, встроенный в Corona, используйте этот код, чтобы включить его в свое приложение:
- Физический движок местная физика = требуется "физика" physics.start () phys.setGravity (0, 0) - установите гравитацию на 0, так как она нам не понадобится
Шаг 9: игровые переменные и константы
Это основные переменные и константы, которые мы будем использовать, прочитайте комментарии в коде, чтобы узнать о них больше.
локальный BRICK_W = 41 - ширина кирпича местный BRICK_H = 21 - высота кирпича local OFFSET = 23 - смещение, используемое для центрирования кирпичей local W_LEN = 8 - длина уровней, на сцене должно быть создано только 8 горизонтальных кубиков local SCORE_CONST = 100 - сумма, добавляемая к счету при попадании в кирпич локальная оценка = 0 - сохраняет текущую оценку local bricks = display.newGroup () - удерживает все кирпичи уровня local xSpeed = 5 местный ySpeed = -5 местное xDir = 1 - направление x local yDir = 1 local gameEvent = '' - сохраняет игровые события (выиграть, проиграть, закончить) local currentLevel = 1
Шаг 10: Экран меню
Это основной экран приложения, это будет первый интерактивный вид, который появится в нашей игре. Эти переменные хранят фон и компоненты экрана меню.
локальный фон = display.newImage ('bg.png') локальное меню экрана местный McScreen местный стартВ местный aboutB
Обратите особое внимание на строку с display.newImage('bg.png') . Это отвечает за отображение исходного фонового изображения на экране.
Шаг 11: Об экране
Экран about покажет кредиты, год и авторские права на игру. Эта переменная будет использоваться для хранения ссылки на представление:
местный aboutScreen
Шаг 12: Экран игры
Это экран игры, он будет создан при нажатии кнопки « Пуск» .
Переменные для хранения игрового экрана:
местное весло местный кирпич местный бал
Шаг 13: Оценка и уровень текста
Локальные переменные, в которых хранятся текстовые поля оценки / уровня и числовые значения оценки / уровня:
местный счетТекст местный ScoreNum local levelText местный уровеньNum
Шаг 14: Экран оповещения
Этот экран появится, когда игра будет решена. Сообщение скажет игроку, что они либо выиграют, либо проиграют.
Экран оповещения хранится в следующих переменных:
локальный сигнал тревоги местный alertBg местная коробка местное названиеTF местный MSGTF
Шаг 15: Уровни
Все наши уровни будут храниться в таблицах (версия массива Lua).
По сути это таблица, содержащая таблицу. Вы можете объявить это в одной строке, но при правильном форматировании интервал между ними позволит вам фактически увидеть форму, которую примут уровни:
локальные уровни = {} уровни [1] = {{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,0}, {0,0,0,1,1,0,0,0}, {0,1,1,1,1,1,1,0}, {0,1,1,1,1,1,1,0}, {0,0,0,1,1,0,0,0}, {0,0,0,1,1,0,0,0}, {0,0,0,0,0,0,0,0},} уровни [2] = {{0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,0}, {0,0,1,0,0,1,0,0}, {0,0,0,0,0,1,0,0}, {0,0,0,0,1,0,0,0}, {0,0,0,1,0,0,0,0}, {0,0,1,0,0,0,0,0}, {0,0,1,1,1,1,0,0},} уровни [3] = {{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,0}, {0,1,0,0,0,0,1,0}, {0,1,1,1,1,1,1,0}, {0,1,0,1,1,0,1,0}, {0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,0}, {0,0,0,0,0,0,0,0},} уровни [4] = {{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1}, {1,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1},}
В многомерных таблицах выше, 1 представляют пространство на этапе, на котором будет помещен кирпич, а 0 — это просто пустое пространство. Позже, числа будут прочитаны функцией, которая поместит кирпичик в окно игры. Мы добавили четыре выше, но вы можете добавить столько, сколько хотите!
В следующий раз. , ,
Вы уже видели интерфейс и основные настройки нашей игры. Оставайтесь с нами для второй части этой серии, где мы добавим интерактивность в интерфейс и обнаружение столкновений между нашей игровой графикой.







