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

         

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



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

Почти весь код находится в одном кадре основной временной шкале. Он начинается с создания экземпляров клипов "peg" и "hole" и их размещения на рабочем поле. С помощью оператора if создаются необходимые для игры отверстия. Также код проверяет, во все ли отверстия, кроме одного в центре, вставлены колышки.
В конце функции переменной maxHole присваивается значение, равное количеству всех отверстиях. Эта' переменная будет использоваться в тех функциях, где необходимо выяснить, все ли клипы удовлетворяют определенным условиям.

initGame();

stop();

function initGame() {

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

holeSpace =30;

puzzleLeft = 160;

puzzleTop = 80;

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

i = 0;

for(y=0;y

for (x=0;x

// Проверяем, должен ли быть создан колышек.

// Если да, создаем его.

if (((у < 3) or (у > 5)) and ((х < 3) or (x > 5) continue;



// Добавляем и размещаем новое отверстие. attachMovie("hole", "hole"+i, i);

_root["hole"+i]._x = x*holeSpace + puzzleLeft;

_root["hole"+i]._y - y*holeSpace + puzzleTop;

II He добавляем колышек в центральное отверстие,
if ((x != 4) or (у != 4)) {

// Добавляем и размещаем

// новое отверстие.

attachMovie("peg","peg"+i,100+i);

_root["peg"+i]._x = x*holaSpace + puzzleLeft;

_root["peg"+i]._y = y*holaSpace + puzzleTop;
}

i++;
}}

// Запоминаем количество колышков.
maxHole = i;
}

Когда игрок щелкает по колышку, на самом деле он щелкает по кнопке, расположенной внутри клипа. Оба действия, "press" и "release", передаются функциям в основной временной шкале. Функция dragPeg вызывается действием "press". Эта функция сохраняет положение колышка в переменных pegх и pegу, а затем разрешает перемешать колышек. Также она использует функцию swapDepths, чтобы колышек отображался поверх всех остальных.

function dragPeg(peg) {
// Запоминаем исходное положение колышка,
pegх = peg._х; pegу = peg._у;
// Размещаем колышек поверх остальных,
peg.swapDepths(2000);
// Разрешаем программе Flash перемещать клип.
startDrag(peg, true);
}



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