Гонки
Клип "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" и не включает в себя клип с бонусом, который содержится только во втором кадре. Это предотвращает получение игроком очков после окончания игры. Я также добавил в ролик-пример фоновый пейзаж.
Другие возможности
Игра уже достаточно сложна для примера в книге. Однако существует много мелких деталей, которые вы можете добавить, чтобы она стала еще более увлекательной. Например, вы можете изменить холмы фона в клипе и заставить их увеличиваться по мере приближения машины. Это создаст иллюзию, что машина подъезжает к холмам.
Вы можете добавить разные типы бонусов, стоящие разное количество очков. Вы также можете ограничить скорость машины, но ввести бонусы, позволяющие эту скорость увеличить.