Добро пожаловать в финальное руководство в нашей серии игр Whack A Mole! В этом руководстве мы рассмотрим анимацию червей, события касания и шаги по созданию окончательного приложения.
Где мы остановились. , ,
Пожалуйста, ознакомьтесь с частью 1 и частью 2 серии, чтобы полностью понять этот учебник.
Шаг 1: Запустите таймер
Таймер вызывается этой функцией. Червь будет показан каждые 1400 миллисекунд.
1
2
3
|
function startTimer()
timerSource = timer.performWithDelay(1400, showWorm, 0)
end
|
Шаг 2: Показать червя
Этот код проверяет, не показали ли показанные черви предел, и выдает предупреждение, если оно истинно. Если ложь, червь отображается на сцене.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
function showWorm(e)
if(currentWorms == totalWorms) then
alert()
else
lastWorm.isVisible = false
local randomHole = math.floor(math.random() * 8) + 1
lastWorm = worms[randomHole]
lastWorm:setReferencePoint(display.BottomCenterReferencePoint)
lastWorm.yScale = 0.1
lastWorm.isVisible = true
Runtime:addEventListener(‘enterFrame’, popOut)
currentWorms = currentWorms + 1
end
end
|
Шаг 3: Анимированные черви
Когда выйдет червь, будет отображаться небольшая анимация, это небольшая анимация для свойства yScale .
1
2
3
4
5
6
7
|
function popOut(e)
lastWorm.yScale = lastWorm.yScale + 0.2
if(lastWorm.yScale >= 1) then
Runtime:removeEventListener(‘enterFrame’, popOut)
end
end
|
Шаг 4: Функция попадания червя
Следующий код обрабатывает нажатие на каждого червя. Он воспроизводит звук удара, меняет счет и делает червя снова невидимым.
1
2
3
4
5
6
|
function wormHit:tap(e)
audio.play(hit)
wormsHit = wormsHit + 1
score.text = wormsHit .. ‘/’ .. totalWorms
lastWorm.isVisible = false
end
|
Шаг 5: оповещение
Эта функция остановит игру и покажет окончательный счет, используя фон оповещения и анимацию движения.
01
02
03
04
05
06
07
08
09
10
11
12
13
|
function alert()
timer.cancel(timerSource)
lastWorm.isVisible = false
local alert = display.newImage(‘alertBg.png’)
alert:setReferencePoint(display.CenterReferencePoint)
alert.x = display.contentCenterX
alert.y = display.contentCenterY
transition.from(alert, {time = 300, xScale = 0.3, yScale = 0.3})
local score = display.newText(wormsHit .. ‘/’ .. totalWorms, 220, 190, native.systemFontBold, 20)
score:setTextColor(204, 152, 102)
end
|
Шаг 6: вызов основной функции
Чтобы изначально запустить игру, нужно вызвать функцию Main . С помощью приведенного выше кода мы сделаем это здесь:
1
|
Main()
|
Шаг 7: Экран загрузки
Файл Default.png — это изображение, которое будет отображаться сразу после запуска приложения, пока iOS загружает основные данные для отображения главного экрана. Добавьте это изображение в исходную папку вашего проекта, оно будет автоматически добавлено компилятором Corona.
Шаг 8: Иконка
Используя графику, созданную ранее, теперь вы можете создать красивый и красивый значок. Размер значка для iPhone без использования сетчатки составляет 57x57px, но для версии с сетчаткой — 114x114px, а для магазина iTunes требуется версия 512x512px. Я предлагаю сначала создать версию 512×512, а затем уменьшить ее для других размеров.
Для этого не нужно иметь закругленные углы или прозрачные блики, iTunes и iPhone сделают это за вас.
Шаг 9: Тестирование в симуляторе
Пришло время сделать финальный тест. Откройте Corona Simulator, перейдите в папку вашего проекта и нажмите «Открыть». Если все работает, как ожидалось, вы готовы к последнему шагу!
Шаг 10: Сборка
В симуляторе Corona зайдите в File> Build и выберите ваше целевое устройство. Заполните необходимые данные и нажмите кнопку « Создать» . Подождите несколько секунд, и ваше приложение будет готово для тестирования устройства и / или отправки для распространения!
Вывод
Поэкспериментируйте с конечным результатом и попробуйте сделать свою собственную версию игры!
Надеюсь, вам понравился этот урок, и вы нашли его полезным. Спасибо за чтение!