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


Создание кода - часть 2


function moveBall() {

(16)// Определяем пространственные координаты шара.

ballpos.х += ballvel.x;

ballpos.у += ballvel.у;

ballpos.z += ballvel.z;

(17) // Определяем плоские координаты.

ball._x = ballpos.x + ballpos.z*(200-ballpos.x)/200;

ball._y = ballpos.у + ballpos.z*(200-ballpos.у)/200;

(18) // Корректируем размер шара.

ball._xscale = (200-ballpos.z)/2;

ball._yscale = (200-ballpos.z)/2;

(19) // Определяем размер рамки.

ring._xscale = (200-ballpos.z)/2;

ring._yscale = (200-ballpos.z)/2;

(20) // Проверяем столкновения со стенками,

if (ballpos.x > 400) ballvel.x *= -1;

if (ballpos.x < 0) ballvel.x *= -1;

if (ballpos.у > 400) ballvel.у *= -1;

if (ballpos.у < 0) ballvel.у *= -1;

(21) // Столкновение с задней стеной,

if (ballpos.z > 140) {

// Меняем направление вдоль

Oz. ballvel.z *= -1;

// Удаляем выбитые шары.

for(var i=bricks.length-1;i>=0;i--) {

if (bricks[i].hitTest(ball._x,ball._y)) {

bricks[i].removeMovieClipt);

bricks.splice(i,1);

score++;}}}

(22) // Столкновение с битой.

if (ballnos.z < 0) {

// Расстояние до центра биты,

рх = ballpos.x-paddle._x;

ру = ballpos.y-paddle._y;

// Столкновение происходит, если расположение от шара

//до центра биты не более 35 пикселов.

if ((Math.abs(px) < 35) and (Math.abs(ру) < 35)) {

(23) // Корректируем скорости по х и по у.

ballvel.x = рх/7; ballvel.y = ру/7;

(24) //Отмечаем столкновение изменением прозрачности биты.

paddle._alpha = 90;

} else {

(25) // Мяч пропущен.

removeBallAndPaddle();

gotoAndStop("game over");

// Меняем направление мяча вдоль Oz.

ballvel.z *= -1;

} else {

(26) // Возвращаем бите прежнюю прозрачность,

paddle._alpha = 50;

(27)// Смотрим, все ли блоки выбиты,

if (bricks.length < 1) {

gameLevel++;

removeBallAndPaddle();

gotoAndStop("level over");

}}
}

Вот еще два полезных фрагмента кода. Первый удаляет шар и биту. Если этого не сделать, они так и будут висеть, как в кадре "game over" так и в кадре "level over".




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



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