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

Гонки

Клип "actions" расположен вне экрана и содержит игровые часы. Он замечает время начала и производит обратный счет до 0. В клипе-приме игра очень короткая, всего 15 секунд. Вы можете увеличить ее до минуты или двух.

Когда обратный отсчет доходит до 0, главная временная шкала отправляется к кадру "game over". Параметр speed становится равным 0, и машина замирает на месте.

onClipEvent(load) {
    // Рассчитываем время окончания игры.
    endTime = getTimer() + 15000;
    onClipEvent(enterFrame) {
        // Подсчитываем, сколько времени прошло.
        timeLeft = (endTime - getTimer()) / 1000;
        // Конец игры.
        if (timeLeft <= 0) {
            _root.speed = 0;
            _root.timeDisplay = "0";
            _root.gotoAndStop("game over");
        }
        else {
            // Отображаем оставшееся время.
            _root.timeDisplay = timeLeft;
        }
    }
}

Кроме команды stop () в первом кадре, есть еще только один сценарий временной шкалы – в главном кадре игры. Он перемешает машину на передний план (уровень) экрана, так что центральная линия и бонусные звезды оказываются под ней. Кроме того, короткий цикл дублирует клип "sideObject" 5 раз. Каждой копии придано разное значение _у, поэтому камни не появляются все одновременно.

// Помещаем машину на передний план,
car.swapDepths(999);
// Создаем пять камней.
for (i = 0; i < 5; i++) {
    mc = sideobject.duplicateMovieClip("side object" + i, i);
    mc._y = 400 + Math.random() * 200;
}

К сведению

Ролик-пример содержит вводный кадр и в нем кнопку начала игры. Третий кадр содержит сообщение "Game over" и не включает в себя клип с бонусом, который содержится только во втором кадре. Это предотвращает получение игроком очков после окончания игры. Я также добавил в ролик-пример фоновый пейзаж.

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

Игра уже достаточно сложна для примера в книге. Однако существует много мелких деталей, которые вы можете добавить, чтобы она стала еще более увлекательной. Например, вы можете изменить холмы фона в клипе и заставить их увеличиваться по мере приближения машины. Это создаст иллюзию, что машина подъезжает к холмам.

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

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