Статьи

Создайте игру для разбивания кирпичей с помощью Corona SDK

В этом уроке мы будем создавать игру Brick Breaker с нуля, используя Corona SDK. Цель этой игры — управлять понгоподобным веслом, чтобы сбивать мяч со стопки кирпичей, пока они не сломаются.


Если вы еще этого не сделали, пожалуйста, прочитайте часть 1 этой серии, чтобы полностью понять код в этом руководстве.

Объявив многомерную таблицу для хранения наших уровней на шаге 15, теперь объявляем все функции, которые будут использоваться в этом приложении:


Теперь создайте Main() , первую функцию, которая будет вызываться при запуске нашей игры:


Следующий фрагмент кода добавляет графику экрана меню на сцену и сохраняет ее в группе menuScreen :


Слушатели добавляются к кнопкам для выполнения функции tweenMS при нажатии:


Эта функция проверяет, какая кнопка была нажата, и отображает соответствующий вид:


Эти строки, вывод функции tweenMS сверху, скрывают кнопки экрана меню, чтобы избежать нежелательных нажатий:


Следующая функция отключает экран около экрана и удаляет его:


Когда пользователь нажимает кнопку запуска, мы начинаем создание игрового экрана. Первое, что нужно сделать, это уничтожить экран меню:


Далее мы добавляем графику весла и мяча:


Затем мы строим уровень. Эта функция полностью объяснена позже в статье:


Последняя графика, которую нужно добавить, относится к тексту партитуры и уровней:


Слушатель добавляется в фон. Этот слушатель запустит игру, когда коснется фона:


Весло будет управляться с помощью акселерометра устройства. Данные будут получены с использованием e.xGravity и переданы в свойство x весла.


Чтобы весло не покинуло сцену, мы создаем невидимые границы по сторонам экрана:


Уровни будут построены с помощью этой функции.

Он использует параметр для получения уровня для построения, вычисляет его размер и запускает двойной цикл for, один для высоты и один для ширины. Затем он создает новый экземпляр Brick, который размещается в соответствии с его шириной, высотой и числом, соответствующим i и j . Кирпич объявлен статическим в физическом движке, поскольку он не будет обнаруживать столкновение, которое будет обрабатываться шаром, который является единственным динамическим физическим типом.

Наконец, кирпич добавляется в группу кирпичей для доступа к нему вне этой функции.


Эта функция добавляет или удаляет слушателей. Он использует параметр, чтобы определить, должны ли слушатели быть добавлены или удалены. Обратите внимание, что некоторые строки закомментированы, так как функции для их обработки еще не созданы.


В этой функции мы вызываем функцию gameListeners , которая запускает движение и управление игрой:


Когда мяч попадает на весло, ySpeed устанавливается в отрицательное значение, чтобы заставить мяч подняться. Мы также проверяем, в какую сторону весла попал мяч, чтобы выбрать сторону, куда он будет двигаться дальше. Столкновение обнаруживается слушателем события столкновения, добавленным в функцию gameListeners :


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