Иллюстрированный самоучитель по Flash-games

       

Подход


Может показаться, что эту игру до смешного легко создать. И действительно, игра бы состояла всего из нескольких кнопок, если бы не следующие два условия: во-первых, необходима обратная связь с пользователем, он должен знать, какие объекты найдены; во-вторых, игра должна распознавать, найдены ли все объекты.
Обратную связь можно создать, применив к клипу, содержащему лису, свойство трансформации цвета. Применив соответствующий цвет, вы добьетесь выделения лисы.
Для того чтобы определить, все ли лисы найдены, используется массив истинных и ложных значений. В начале игры массив содержит семь ложных значений. По мере того, как пользователь будет находить лис, значения станут меняться на истинные. Когда все семь значений массива примут значение true, игрок поймет, что нашел всех лис.
Вместо кнопок мы будем использовать клипы. Кроме того, потребуется управляющий клип со сценарием ActionScript, следящим за нажатием кнопки мыши. Когда нажатие будет обнаружено, функция hitTest кода начнет проверку клипов с изображениями лис и определит, какой из них был выбран. Это происходит аналогично определению выбранного клипа в игре "Составь лису', которая описывалась в главе 7.


Каждое отверстие в бревне представляет собой экземпляр одного клипа. Клип изображает либо пустое отверстие, либо анимацию лисы, выглядывающей из этого отверстия.
Другой клип под названием "actions" управляет очередностью и периодичностью воспроизведения клипов. В начале игры лисы будут выглядывать через каждые две секунды. С каждым разом интервал между появлениями лис немного сокращается.
Когда игрок щелкает по экрану, клип "actions" определяет, какая лиса была выбрана. После этого клип воспроизводит другую анимацию, изображающую лису в состоянии легкого шока.
Каждый раз при появлении лисы значение счетчика увеличивается на один пункт. Когда игрок попадает в лису, значение другого счетчика Taк же увеличивается на единицу. Счет отображается следующим образом: количество попаданий в лису, потом знак /, затем количество появлений лисы. Другими словами, значение "5/12" будет обозначать, что игрок поразил 5 лис из 12.




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




Все, что вы должны сделать по сравнению с предыдущей игрой, - это позволить пользователю перемешаться по большому фоновому изображению из стороны в сторону. Но это не так-то просто. Одни элементы фона ближе к играющему, чем другие. Чтобы у игрока действительно создалось ощущение движения охотника, близкие объекты должны двигаться быстрее дальних.
Чтобы этого добиться, мы разбиваем элементы фона на четыре группы: близко - деревья, подальше - кусты, еще дальше - холмы, затем - небо и земля. Небо и земля остаются неподвижными. А деревья, кусты и холмы движутся в зависимости от того, насколько далеко они от игрока.
Лисы прячутся за деревьями и в кустах. Это значит, что они должны двигаться вместе с этими элементами. Посмотрите на исходный файл Huntafox.fla на сайте, чтобы понять, как это выглядит. Если вы двигаете курсор вправо по рабочему полю, панорама смешается вправо. Видите, как деревья движутся быстрее кустов, а кусты быстрее холмов? Заметьте также, что деревья иногда затеняют кусты. Хорошему игроку нужно совсем немного подвигать панораму, чтобы убить максимально возможное количество лис. На рис. 8.8 показан случай, когда лиса выглядывает за-за дерева.

Рисунок 8.8. Лиса выглядывает из-за дерева



Содержание раздела