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


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


Прежде чем будет запушен кадр игры, в кадре "start game" необходимо определить две важные переменные: начальную скорость движения мяча по вертикали и количество мячей, которые могут быть поданы.

dy = 3;

numBalls = 3;

stop() ;

Когда происходит переход к кадру "play", с помощью клипа "actions» можно регулярно вызывать функции. В данной игре все столкновения с мячом или стенами должны быть учтены в функции moveBall, но для блоков была создана отдельная функция - checkCollisions.

onClipEvent(load) {

_root.startBall();

onClipEvent(enterFrame) {

_root.moveBall();

_root.movePaddle();

_root.checkCollisions();
}

Когда начинается кадр "play", подается мяч. Положение мяча определяется тем, где он появляется на рабочем поле. Скорость мяча по горизонтали всегда равна 3, направление движения - вправо. Скорость по вертикали указывается в первом кадре, где величине dy было присвоено значение 3. Однако это значение изменится перед следующим уровнем.
Вдобавок к параметрам мяча воспользуйтесь возможностью и установите некоторые значения, которые не будут изменяться во время игры.

function startBall() {

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

х = ball._x;

у = ball._y;

// Устанавливаем начальную скорость по горизонтали,

dx = 3;

// Прячем курсор.

Mouse.hide();

// Задаем значения констант.

rightWall = 550;

leftWall = 0;

topWall = 0;

bottomWall = 400;

ballRadius = ball,_width/2;

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

paddleBottom = paddle._y+paddle.__height/2;

}

Следующая функция управляет битой, выравнивая ее по горизонтали в соответствии с движением мыши.

// Бита следует за курсором,

function movePaddle() {

paddle._x = _xmouse;

}

Следующая функция покажется вам знакомой, так как она очень похожа на функцию moveBall, которая используется в других играх этой главы. Однако есть и некоторые отличия.
Для того чтобы узнать, ударился ли мяч о биту, код проверяет, полностью ли они перекрываются (13). Затем, если все-таки столкновение произошло, скорость мяча по горизонтали определяется тем, где именно мяч ударился о биту (14). К тому же код для определения, пропущен ли мяч, проще, так как он просто проверяет, пролетел ли мяч сквозь нижнюю стену или нет (15).




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



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