Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
материал. часть2 / Розенцвейг_Adobe_Flash_Создание аркад, головоломок и других игр с помощью ActionScript.rtf
Скачиваний:
52
Добавлен:
11.02.2016
Размер:
9.87 Mб
Скачать

К сведению

Все стандартные части предыдущих игр присутствуют и здесь. Есть окно начала игры с кнопкой в нем. Есть два текстовых поля: очки и оставшиеся выстрелы. Курсор невидим и заменен клипом с изображением прицела. Во всех этих случаях используется код как в игре «Подстрели лису».

Другие возможности

Чтобы улучшить игру, я увеличил промежутки времени между появлениями лисы. Сейчас они составляют 2 секунды, а должны быть больше двух минут, чтобы игра стала напоминать «Охоту на оленей». Вы можете даже сделать промежутки случайными, чтобы было еще интереснее.

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

Глава 9 Игры типа "Поймай или пропусти"

• Поймай яблоко

• Поймай хорошее яблоко

• Сплав на байдарке

• Гонки

Многие игры в сети могут быть отнесены к разряду игр «Поймай или пропусти». Они имеют следующие характерные черты: игрок управляет объектом или действующим лицом, перемещающимся влево и вправо в нижней части экрана, другие объекты падают сверху; игрок должен либо поймать, либо уклониться от этих объектов.

Существуют разные варианты подобных игр, которые отличаются способом управления объекта пользователем, типом используемых объектов и т. д. В данной главе мы рассмотрим четыре развидности игры. В первой пользователь должен просто поймать объект. Вторая создана на основе первой и включает новые функции: например, добавлены объекты, которых следует избегать (тип этой игры можно определить как "поймай или пропусти"). Последняя игра, "Гонки", совсем не похожа на предыдущие, она полностью основана на движении. Тем не менее, ее код будет практически аналогичен исходному, отличаться от первого варианта она будет лишь графикой. В этой игре мы добавили иллюзию глубины пространства.

Поймай яблоко

Исходный файл: Applecatch.fla

В первой игре "Поймай яблоко" лиса будет двигаться в нижней части экрана и пытаться поймать яблоки, падающие с дерева. На рис. 9.1 показан фрагмент игры. Полный ролик находится на Web‑сайте в файле Applecatch.fla.

Рисунок 9.1. Элементами игры «Поймай яблоко» являются лиса в нижней части экрана и яблоки, падающие сверху

Задача проекта

Лисой можно управлять при помощи клавиш «влево» и «вправо». Лиса будет передвигаться в течение всего времени, пока пользователь удерживает одну из клавиш. Перед правой или левой границей экрана лиса автоматически остановится.

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

После того как упадет определенное количество яблок, игра завершается. Счет будет равен количеству пойманных лисой яблок.

Подход

Для управления перемещением лисы используется объект Key. Он определяет, удерживает ли игрок клавишу (со стрелкой вправо или влево).

Для создания объектов‑яблок используется функция attachMovie. Яблоки помещаются в произвольные места в верхней части экрана, а затем начинают падать и либо ловятся лисой, либо достигают нижней границы экрана.

После создания яблока значение счетчика timeSinceLastApple сбрасывается на 0. При каждом новом обращении к кадру его значение увеличивается. Следующее яблоко создается только тогда, когда счетчик принимает значение 20. Это означает, что яблоко может быть создано только через 20 кадров после появления предыдущего.

Скорость падения яблока определяется переменной appleSpeed. Каждый раз при падении яблока переменная увеличивается. Таким образом, чем дольше длится игра, тем быстрее падают яблоки.

Клип яблока удаляется либо после попадания в корзину, либо при достижении нижней границы экрана. Для того чтобы определить, попало ли яблоко в корзину, координаты яблока сравниваются с координатами корзины. Для облегчения вычислений центр координат клипа с лисой находится в середине корзинки. На рис. 9.2 показан этот клип (его центр отмечен крестиком).

Рисунок 9.2. Центр координат клипа с лисой находится в середине корзинки

После сбрасывания определенного количества яблок игра заканчивается. Счетом будет служить количество пойманных яблок, отображаемое в правом верхнем углу экрана.

Соседние файлы в папке материал. часть2