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

Игра "Йога"

Функция dropPeg использует полезную функцию pegThere, которой передается расположение отверстия и которая возвращает значение true, если именно в этом месте обнаружен клип "peg".

function pegThere(x.y) {
    // Выясняем, находится ли в этом месте колышек,
    for (i = 0; i < maxHole; i++) {
        peg = _root["peg" + i];
        if ((peg._x == x) and (peg._y == y)) {
            return true;
        }
    }
    return false;
}

Во время игры внизу экрана все время находится кнопка Restart Game (Начать заново), которая позволяет заново начать игру, когда больше нельзя сделать ни одного действия или когда пользователь понимает, что плохо начал игру. Эта кнопка должна не только вызывать функцию initGame, но и очищать оставшиеся клипы "peg" и "hole".

function restartGamef) {
    // Удаляем все клипы,
    for (i = 0; i < maxHole; i++) {
        _root["peg" + i].removeMovieClip();
        _root["hole" + i].removeMovieClip();
    }
    // Начинаем новую игру.
    initGame();
}

Код, прикрепленный к кнопке, расположенной внутри клипа "peg" очень прост. Все, что он делает, это передает функциям действия press и release.

on(press) {
    _root.dragPeg(this);
}
on(release) {
    _root.dropPeg(this);
}

Другие возможности

Главный способ изменения игры – создание другой доски. Существует множество вариантов, например, колышек можно перемещать не только по вертикали и горизонтали, но и по диагонали. В данном случае нужно переписать код.

Еще одно изменение – создать колышек, который по цвету отличается от других. Таким образом можно усложнить игру: последним нужно оставить именно этот колышек.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.