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

function moveBalloons() {

// Перемещаем все шары.

for(i=balloons.length-1;i>=0;i–) {

// Определяем скорость шара

// и получаем ссылку на клип.

dx = balloons[i].d;

balloon = _root[balloons[i].clip];

// Перемещаем шар.

balloon._x += dx;

// При вылете за экран шар удаляется.

if ((dx < 0) and (balloon._x < -20)) {

balloon.removeMovieClip() ;

balloons. splice (i,1);

} else if ((dx > 0) and (balloon._x > 570)) {

balloon.removeMovieClip();

balloons.splice(i,1);

}

}

// Если шары закончились, игра завершается.

if ((nextBalloon >= numBalloons) and (balloons.length < 1)){

gotoAndStop("game over");

}

}

Функция moveFox определяет, нажаты ли клавиши со стрелками «влево» или «вправо», и перемещает лису на 10 пикселов влево или вправо при нажатии соответствующей клавиши. Как и в предыдущих играх, параметр _xscale клипа, содержащего лису, используется для поворота лисы. Функция также задает переход клипа к анимационной последовательности (изображает идущую лису и начинается в кадре 2), а также к кадру 1 (изображает стоящую лису).

function moveFox () {

// Подвинуть лису влево.

if (Key.isDown (Key.LEFT)) {

dx = -10;

fox._xscale = Math.abs(fox._xscale);

// Подвинуть лису вправо, перевернув ее клип по вертикали [12] .

} else if (Key.isDown(Key.RIGHT)) {

dx = 10;

fox._xscale = -Math.abs(fox._xscale);

// Иначе лиса не двигается.

} else {

dx = 0;

}

// Перемещаем лису.

fox._x += dx;

if ((dx == 0) and (fox._currentFrame != 1)) {

// Переходим к кадру, в котором лиса стоит.

fox.gotoAndStop(l);

} else if ((dx != 0) and (fox._currentFrame == 1)) {

// Переходим к кадру, где лиса бежит.

fox.gotoAndPlay(2);

}

}

Для того чтобы выстрелить, пользователь должен нажать на клавишу пробела. На нажатие клавиши реагирует скрытая кнопка, которая вызывает функцию shootBullet. Код кнопки будет рассмотрен далее, в разделе «К сведению».

Функция shootBullet проверяет, прошло ли достаточно времени после предыдущего выстрела. Это не дает игроку возможности стрелять залпом по всем мишеням.

Подобно шарам снаряды представлены одновременно клипом и элементом массива, в данном случае массива bullets. Массив используется функцией moveBullets для осуществления выстрелов.

Обратите внимание, что движение клипа, содержащего снаряд, начинается в точке, расположенной в 2 пикселах вправо и 55 пикселах влево от центра клипа лисы. Эта точка соответствует кончику соломинки.

function shootBullet () {

// Проверяем, что с момента

// предыдущего выстрела прошло достаточно времени.

if (getTimer() > nextBulletTime) {

// Создаем новую пулю.

attachMovie("bullet","bullet"+nextBullet,nextBullet+9999);

// Устанавливаем ее координаты.

_root["bullet"+nextBullet]._x = fox._x+2;

_root["bullet"+nextBullet]._y = fox._y-55;

// Добавляем новую пулю к массиву.

bullets.push(nextBullet) ;

// Изменяем значение переменных, отвечающих

// за появление пуль.

nextBullet++;

nextBulletTime = getTimer()+1000;

}

}

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

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

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

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

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

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

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

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

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