Головоломки Flash

         

В каждом кадре посредством клипа


hitPoints.push({x:9, y:13});

hitPoints.push({x:0, y:-10});

hitPoints.push({x:-9, y:-7});

hitPoints.push({x:8, y:-7});

// Определяем координаты опор лунохода

footPoints = new Array();

footPoints.push({x:-9, y:13});

footPoints.push({x:9, y:13});

// Создаем массив из клипов "pad" (посадочная площадка)
pads = new Array();

for (i=0; i

pads.push(_root["pad"+i]);

}}

В каждом кадре посредством клипа "actions" вызывается функция moveShip, которая, в свою очередь, вызывает множество небольших функций для управления кораблем. Всегда лучше разбивать большой фрагмент кода на несколько небольших функций.

function moveShip() {



shipThrusters();

shipMovement();

checkForLand();

checkForCrash();}

Функция shipThrusters проверяет, осталось ли еще горючее, если нет, то клип "ship" переходит к кадру "normal". В противном случае, если игрок нажимает на одну из клавиш со стрелками "вверх", "влево" или "вправо", включается соответствующий ускоритель. Клип "ship" переходит к соответствующему кадру, и чтобы отразить эффект действия ускорителя, изменяются значения dx и dy. Также уменьшается количество топлива.

function shipThrusters() {

// Проверяем ускорители и корректируем скорость,

if (fuel < 0) {

ship.gotoAndStop("normal");

} else if (Key.isDown(Key.UP)) {

ship.dy -= .4;

ship.gotoAndStop("up");

fuel -= 2;

showFuel();

} else if (Key.isDownfKey.LEFT)) {

ship.dx -= .2;

ship.gotoAndStop("left");

fuel -= 1;

showFuel();

} else if (Key.isDownfKey.RIGHT)) {

ship.dy += .2;

ship.gotoAndStop("right");

fuel -= 1;

showFuel();

} else {

//He включен ни один из ускорителей,

ship.gotoAndStop("normal");
}}

Функция shipMovement изменяет скорость корабля согласно гравитации и перемешает корабль в зависимости от скорости лунохода.

function shipMovement() {

// Гравитация заставляет корабль двигаться вниз,

ship.dy += gravity;

// Перемещаем корабль.


Содержание раздела