Читаем Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript полностью

В самой классической видеоигре, "Космические захватчики", есть очень странное, но запоминающееся поведение вражеских единиц. Они движутся группой из стороны в сторону, медленно опускаясь вниз. Если они достигнут поверхности, игрок проигрывает.

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

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

Поведение шариков простое. Они образуют группу шириной 10 и высотой 3 шарика, как показано на рис. 10.5. Шарики движутся вправо, пока первая колонна шариков не коснется правой стороны экрана. Тогда они меняют направление и чуть-чуть опускаются.

Рисунок 10.5. Шарики-захватчики движутся группой

Между тем лиса внизу движется слева направо и стреляет в шарики. Она должна перестрелять их всех, прежде чем группа шариков достигнет поверхности земли.

Подход

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

Подготовка ролика

Как и в первой игре этой главы, есть кадр стоящей лисы – «stand», и анимация ходьбы. У шарика есть нормальный кадр и анимация взрыва. Все шарики сначала серого цвета и потом раскрашиваются с помощью ActionScript. Пуля – это короткий клип-линия.

Создание кода

Клип «actions» такой же, как в первой игре этой главы, за исключением того, что новые шарики не создаются в каждом кадре.

onClipEvent(load) {

_root.initGame();

}

onClipEvent(enterFrame) {

_root.moveBalloons();

_root.moveFox();

_root.moveBullets();

}

Функция initGame вызывает функцию createBalloons, чтобы создать группу шариков. Ей не нужно задавать такие переменные, как nextBalloon или создавать массив balloons, поскольку после начала игры новые шарики не создаются.

function initGame() {

// Создаем шарики.

createBalloons();

// Параметры снарядов.

nextBulletTime = 0;

nextBullet = 0;

bullets = [];

// Переменная счета.

score = 0;

}

Функция createBalloons создает 30 шариков в 10 колонках по 3 штуки в каждой. Каждая ссылка на шарик хранится в массиве. Цвет шарику назначается в зависимости от того, в каком он ряду. Каждому шарику придано начальное направление и скорость равная 3.

function createBalloons() {

balloons = new Array();

balloonNum = 0;

// Создаем новый ряд.

for(var y=0;y<3;y++) {

for(var x=0;x<10;x++) {

// Создаем и размещаем новый шарик.

attachMovie("balloon", "balloon"+balloonNum, balloonNum);

balloonClip = this["balloon"+balloonNum];

balloonClip._x = x*30+20;

balloonClip._y = y*30+20;

// Добавляем в массив.

balloons.push(balloonClip);

// Устанавливаем цвет.

balloonColor = new Color(balloonClip);

if (y == 0) {

balloonColor.setTransform({rb: 255});

} else if (y == 1) {

balloonColor.setTransform({gb: 255});

} else if (y == 2) {

balloonColor.setTransform({bb: 255});

}

balloonNum++;

}

}

// Направление (скорость)шариков.

balloonDirection = 3;

}

Функция moveBalloons двигает все шарики в массиве balloons. Если какой-нибудь из них дотронется до края экрана, то все они меняют направление. Если же какой-нибудь достигнет низа экрана, игра заканчивается.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных