Если яблоко поймано или упало на землю, вызывается функция removeApple.В первом случае также происходит увеличение счета.
function moveApples() {
// Проверяем все падающие в данный момент яблоки.
for (i=firstApple;i<=lastApple;i++) {
// Определяем координаты яблока.
x = _root["apple"+i]._x;
o = _root["apple"+i]._y + appleSpeed;
// Проверяем, достигло ли яблоко земли.
if (y > 400) {
removeApple(i);
// Проверяем, попало ли оно в корзину.
} else if ((Math.abs(y-fox._y) < 10) and
(Math.abs(x-fox._x) < 25)) {
removeApple(i);
score += 1;
// В противном случае яблоко продолжает падать.
} else {
_root["apple"+i]._y = y;
}
}
}
При помощи функции removeClip функция removeAppleудаляет клип. Она также увеличивает значение переменной firstApple,в результате функция moveAppleпрекращает перемещать яблоко вниз. Если яблоко было последним, ролик переходит к кадру "game over". При этом ролик лисы удаляется с экрана.
function removeApple(n) {
// Убираем яблоко с экрана.
_root["apple"+n].removeMovieClip();
// Увеличиваем указатель на первое яблоко на единицу.
firstApple = n+1;
// Проверяем, не последнее ли это яблоко?
if (n == totalApples) {
fox.removeMovieClip();
gotoAndPlay("game over");
}
}
К сведению
Вышеприведенный код использует установленный по умолчанию размер рабочего поля для ролика – 550x400. Если вы хотите указать другой размер, необходимо внести соответствующие изменения в код. Вы также можете настроить левую и правую границу игрового поля. Вышеприведенный код ограничивает расположение яблок и лисы по вертикали диапазоном между 30 и 520 пикселами, задавая ширину границы размером 30 пикселов. Вы можете их увеличить или уменьшить.
Для остановки анимации первый кадр клипа лисы должен содержать команду stop(). Не забудьте также вставить команду gotoAndPlay в последний кадр клипа.
Ролик содержит динамическую текстовую область, связанную с переменной score,поэтому отображение счета не составит проблемы.
Полная игра (файл Applecatch.fla на Web-сайте), состоит из трех кадров. Первый является кадром начала игры и содержит команду stop(). При помощи соответствующей кнопки осуществляется переход к кадру "Play", в котором происходит основное действие игры. Затем следует кадр "Game Over". В отличие от предыдущих игр, использующих три различные сцены, кадры данной игры находятся в одной и той же. Но вы можете использовать вариант и с различными сценами.
Другие возможности
Существует несколько способов усовершенствования этой игры. Вы можете ускорять падение яблок, задать интервал между падениями двух яблок или изменить общее количество бросаемых яблок.
Вы также можете использовать другое изображение лисы и иначе настроить функцию moveApples, увеличивая или уменьшая размер корзины для яблок.
Сообразительный программист наверняка изобразит корзину, наполняющуюся яблоками по мере их попадания, и заставит лису время от времени высыпать собранный урожай в определенном месте экрана.
В следующем разделе будет рассмотрена игра, созданная на основе данной, но в ней будут и плохие яблоки, которые нельзя ловить.
Исходный файл: Applelettercatch.fla
В данном примере в предыдущую игру будет добавлено "плохое яблоко". Это довольно просто сделать. Давайте усложним задачу и сделаем так, чтобы хорошие и плохие яблоки выглядели по-разному.
На каждом падающем яблоке будет нарисована буква. В зависимости от того, гласная это или согласная, яблоко будет считаться хорошим или плохим.
На рис. 9.4 показан кадр из новой игры с несколькими падающими яблоками. Данный пример содержится в файле Applelettercatch.fla на Web-сайте.
Рисунок 9.4. Элементами игры «Поймай хорошее яблоко» являются яблоки с нарисованными буквами
Задача проекта
Задача проекта – так изменить игру «Поймай яблоко», чтобы учитывалось различие букв (гласные/согласные). Поймав любое яблоко с нарисованной гласной буквой, игрок получит очко, поймав яблоко с согласной, он потеряет очки. При этом счет не может быть меньше 0.
Подход
В игре «Поймай яблоко» единственный клип яблока в библиотеке содержал статическое изображение, состоящее из одного кадра. Для показа различных типов яблок нам понадобится два разных клипа, один для хороших яблок, другой для плохих. Кроме этого, каждый клип будет состоять из множества кадров с изображениями различных яблок. Клип хорошего яблока будет состоять из 5 кадров, соответствующих гласным. Клип плохого яблока будет состоять из 20 кадров, представляющих согласные звуки. Буква "Y" использоваться не будет.
Читать дальше
Конец ознакомительного отрывка
Купить книгу