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


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


В сценарий предыдущего ролика необходимо внести некоторые изменения. Изменить существующие функции и добавить одну новую. Приведем сценарий клипа "actions", который вызывает новую функцию moveComputerPaddle:

onClipEvent(load) {

_root.startLevel();

}

onClipEvent(enterFrame) {

_root.moveBall ();

_root.movePaddle() ;

_root.moveComputerPaddle();

}

Вместо функции startGame в этой игре используется функция startLevel, которая обладает всеми возможностями функции startGame и в дополнение к ним указывает, что мяч будет двигаться в произвольном направлении. Достичь этого можно, определив, что мяч в 50% случаев подается вверх, в 50% случаев - вниз, также в 50% случаев - влево и в 50% случаев - вправо. То есть вы получаете четыре возможных направления движения мяча по диагонали.

function startLevel() {

// Определяем начальное положение мяча,

х = ball._x;

у = ball._y;

// Указываем начальную скорость и одно из четырех

// произвольных направлений по диагонали,

dx = 5;

dy = 5;

if (Math.random() < .5) dx *= -1;

if (Math.random() < .5) dy *= -1;

// Прячем курсор. Mouse.hide();

// Устанавливаем значения констант.

rightWall = 550;

leftWall = 0;

topWall = 0;

bottomWall = 400;

ballRadius = ball._width/2;

passedPaddle = false;

}

Теперь в функцию moveBall включен код для определения, пролетел ли мяч мимо биты компьютера или нет (10). Он похож на код, обрабатывающий биту игрока (9), и идентичен соответствующему фрагменту кода предыдущей игры.
Когда мяч пролетает с правой (11) или с левой (12) стороны, обычно игра возвращается к кадру "start level". Однако если не осталось больше мячей, программа переходит к кадру завершения игры, "game over". В зависимости от того, кто пропустил мяч, очко записывается либо игроку, либо компьютеру (переменной playerScore или computerScore).

function moveBall() {

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

х += dx;

y += dy;

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

if (y+ballRadius > bottomWall) {




Начало  Назад  Вперед



Книжный магазин