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» и не включает в себя клип с бонусом, который содержится только во втором кадре. Это предотвращает получение игроком очков после окончания игры. Я также добавил в ролик-пример фоновый пейзаж.
Другие возможности
Игра уже достаточно сложна для примера в книге. Однако существует много мелких деталей, которые вы можете добавить, чтобы она стала еще более увлекательной. Например, вы можете изменить холмы фона в клипе и заставить их увеличиваться по мере приближения машины. Это создаст иллюзию, что машина подъезжает к холмам.
Вы можете добавить разные типы бонусов, стоящие разное количество очков. Вы также можете ограничить скорость машины, но ввести бонусы, позволяющие эту скорость увеличить.Глава 10 Игры типа "Прицелься и выстрели"
• Стрельба по воздушным шарам
• Стрельба с прицелом
• Шарики-захватчики
Игры типа «Прицелься и выстрели» похожи на игры вида «Поймай или пропусти» тем, что и главное действующее лицо, и другие объекты игры перемещаются. Однако в играх, которые рассматриваются в этой главе, есть и новый элемент – стрельба. Главный герой и объекты никогда не соприкасаются. Вместо этого герой стреляет по объектам. Первая игра, которую мы создадим в данной главе, дает игроку возможность перемещать действующее лицо вдоль нижней части экрана и стрелять по объектам строго вверх. Во второй игре действующее лицо неподвижно, но может целиться и стрелять по объектам по диагонали. В третьей игре объекты перемещаются строем, как в старых аркадных играх.
Стрельба по воздушным шарам
Исходный файл: Balloonshoot.fla
Первая игра состоит из трех основных элементов: лисы, воздушных шаров и снарядов. В нашем примере лиса стреляет всего лишь горошинами из соломинки (рис. 10.1). Поэтому игра подойдет для любой аудитории.
Рисунок 10.1.
Задача проекта
Задача этого проекта – создать игру, в которой лиса перемещается влево и вправо и стреляет вверх по воздушным шарам. Шары появляются слева и справа, на разной высоте и летят с разной скоростью. После того как пролетит определенное количество шаров, игра заканчивается. Счет определяется количеством лопнувших шаров. Готовую игру можно просмотреть на Web-сайте (ролик Balloonshoot.fla).
Подход
Лиса перемещается так же, как и во всех играх предыдущей главы. Перемещение лисы будет анимированным, направление движения задается горизонтальным поворотом.
Воздушные шары будут созданы как копии одного клипа, представляющего собой светло-серый воздушный шар. Подобно высоте, скорости и направлению, цвет будет произвольным.