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

function moveBall() {

// Изменяем координаты x и y.

x += dx;

y += dy;

// Проверяем, попал ли мяч в нижнюю стену.

if (y+ballRadius > bottomWall) {

overshoot = (y+ballRadius) – bottomWall;

y -= overshoot*2;

dy *= -1;

}

// Проверяем, попал ли мяч в верхнюю стену.

if (y-ballRadius < topWall) {

overshoot = topWall – (y-ballRadius);

y += overshoot*2;

dy *= -1;

}

(9) → // Находится ли мяч там, где по нему должна ударить бита?

paddleRight = paddle._x+(paddle._width/2);

if ((x-ballRadius < paddleRight) and !passedPaddle) {

// Находится ли там бита?

paddleTop = paddle._y-(paddle._height/2);

paddleBottom = paddle._y+(paddle._height/2);

if ((y > paddleTop) and (y < paddleBottom)) {

// Удар битой.

overshoot = paddleRight – (x-ballRadius);

x += overshoot*2;

dx += -1;

// Увеличиваем скорость мяча.

dx *= 1.05;

dy *= 1.05;

} else {

// Мяч пропущен, больше ничего не проверяем.

passedPaddle = true;

}

}

(10) → // Находится ли мяч там,

// где должен столкнуться с битой компьютера?

paddleLeft = computerPaddle._x-(computerPaddle._width/2);

if ((x+ballRadius > paddleLeft) and !passedPaddle) {

// Находится ли там бита?

paddleTop = computerPaddle._y-(computerPaddle._height/2);

paddleBottom = computerPaddle_>y+

(computeerPaddle._height/2);

if ((y > paddleTop) and (y < paddleBottom)) {

// Удар битой.

oveershoot = (x+ballRadius) – paddleLeft;

x -= overshoot*2;

dx *= -1;

// Увеличиваем скорость мяча.

dx *= 1.05;

dy *= 1.05;

} else {

// Мяч пропущен, ничего больше не проверяем.

passedPaddle = true;

}

}

(11) → // Проверяем, попал ли мяч в левую стену.

if ((x-ballRadius < leftWall) and passedPaddle) {

Mouse.show();

computerScore++;

if (numBalls == 0) {

gotoAndPlay("game over");

} else {

numBalls–;

gotoAndPlay("start level");

}

}

(12) → // Выполняем аналогичную проверку для правой стены.

if ((x+ballRadius > rightWall) and passedPaddle) {

Mouse.show();

playerScore++;

if (numBalls == 0) {

gotoAndPlay("game over");

} else {

numBalls—;

gotoAndPlay("start level");

}

}

// Устанавливаем новое положение мяча.

ball._x = x;

ball._y = y;

}

Функция movePaddle идентична одноименной функции предыдущей игры. Однако необходимо добавить функцию moveComputerPaddle, управляющую правой битой, которая будет перемещать биту только в том случае, если мяч летит вправо. Бита будет перемещаться вверх, если мяч расположен выше нее, и вниз, если ниже. Скорость передвижения биты устанавливается в начале функции. Чем выше это значение, тем быстрее бита будет реагировать на перемещения мяча.

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

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

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

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

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

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

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

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

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