Весь код данной игры назначен клипу "actions", расположенному за пределами рабочего поля. Он начинается с инициализации всех глобальных переменных. В начале ролика интервал появления лис равен 2 секундам (2000 миллисекундам).
onClipEvent (load) {
// Указываем промежуток времени между появлениями лис.
timeBetweenFoxes = 2000;
// Определяем время до появления следующей лисы.
nextFox = getTimer() + timeBetweenFoxes;
// Инициализируем переменные пораженных и показанных лис.
score = 0;
numFoxes = 0;
}
Функция getTimer () - это своеобразные часы. Функция возвращает количество миллисекунд, прошедших после начала ролика. Значение этих часов постоянно увеличивается, поэтому данную функцию удобно использовать для управления временными интервалами в вашей игре.
Функция onClipEvent (enterFrame) определяет, наступило ли время для появления следующей лисы. Затем она выбирает такое новое отверстие, которое не используется в данный момент. Интервал времени между появлениями лис сокращается на 10 миллисекунд, в результате чего игра с каждым разом все больше ускоряется. Если значение интервала составляет менее 1000 миллисекунд, игра завершается. За 150 секунд пользователь получает 100 возможностей поразить лису.
onClipEvent (enterFrame) {
// Определяем, не пора ли показывать следующую лису,
if (getTimerO >= nextFox) {
// Сокращаем время между показами.
timeBetweenFoxes -= 10;
// Выясняем, не пора ли заканчивать игру,
if (timeBetweenFoxes < 1000) {
_root.gotoAndPlay("End") ;
// Если нет, показываем следующую лису.
} else {
// Увеличиваем счетчик показанных лис.
numFoxes++; _root.showScore = score + "/" + numFoxes;
// Определяем, какая лиса покажется,
while (true) {
fox = Int (Math.Random0*18) ;
if (_root["fox"+fox]._currentFrame == 1) break;
// Выбранная лиса появляется из отверстия.
_root ["fox"+fox].gotoAndPlay ("popup") ;
// Устанавливаем время появления следующей лисы.
nextFox = getTimerO + timeBetweenFoxes;