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


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


Оператор *= работает точно так же, как и +=, только он умножает исходное значение переменной на указанное число. То есть если значение а равно 5, строка а *= 3 изменит это значение на 15. Если же записать а *= -1, значение переменной а станет равным - 5. Воспользовавшись записью *= - 1 можно быстро изменить знак переменной.

function moveBall() {

(1)// Изменяем значение переменных х и у.

х += dx;

У + = dy;

(2)// Проверяем, достиг ли мяч правой стены,

if (x+ballRadius > rightWall) {

overshoot = (x+ballRadius) - rightWall x -= overshoot*2;

dx *= -1;

(3)// Проверяем, достиг ли мяч нижней стены,

if (y+ballRadius > bottomWall) {

overshoot = (y+ballRadius) - bottomWall;

у -= overshoot*2;

dy *= -1;

(4)// Проверяем, достиг ли мяч верхней стены,

if (y-ballRadius < topWall) {

overshoot = topWall - (y-ballRadius);

у += overshoot*2;

dy *= -1;

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

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

if ((x-ballRaduis < paddleRight) and passedPaddle) {

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

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

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

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

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

overshoot = paddleRight х += overshoot*2;

dx *= -1;

(7) // Увеличиваем скорость,

dx *= 1.05; dy *= 1.05;

} else {

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

passedPaddle = true;}}

(8)// Проверяем, находится ли мяч у левой стены,

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

Mouse.show();

GotoAndPLay("game over");}

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

ball._x = х,-ball._y = у; }

}

По сравнению с функцией moveBall функция movePaddle Поразительно короткая. Все, что необходимо сделать, - присвоить вертикальному положению биты значение вертикальной координаты курсора.

function movePaddle() {

// положение биты меняется в соответствии с курсором

paddle._у = _ymouse;

}




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



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