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


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


function checkCollision(bullet) {

// Просматриваем все шарики,

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

balloon = __root[balloons!j].clip];

// Проверяем, попала ли пуля.

if (distance(bullet,balloon) < 10) {

// Переходим к кадру, в котором шар взрывается.

balloon.gotoAndPlay(2);

// Убираем шар из массива,

balloons.splice(j,1);

// Увеличиваем счет,

score += 1;

// Возвращаем значение true,

return(true);

// Если игрок не попал, возвращаем значение false,

}}

return(false);

}

Для определения точного расстояния в пикселях между двумя клипами функция distance использует математическую формулу. Прежде всего, она определяет значение разницы координат клипов по горизонтали и вертикали и сохраняет это значение в переменных dx и dy. Затем вычисляет квадратный корень суммы квадратов данных значений. Формула приведена ниже.

function distance(clipl, clip2) {

// Определяем расстояние между клипами,

dx = clipl._х - clip2._x;

dy = clipl._y - clip2._y;

return (Math.sqrt(dx*dx+dy*dy));

}




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



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