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).
Подход
Лиса перемещается так же, как и во всех играх предыдущей главы. Перемещение лисы будет анимированным, направление движения задается горизонтальным поворотом.
Воздушные шары будут созданы как копии одного клипа, представляющего собой светло-серый воздушный шар. Подобно высоте, скорости и направлению, цвет будет произвольным.
Снаряды, которыми стреляет лиса, создаются из другого клипа. Выстрел будет производиться при нажатии на клавишу пробела. На кончике соломинки создается новый клип, перемещающийся вверх. Также будет создан таймер, дающий игроку возможность делать только один выстрел в секунду.
При достаточном приближении снаряда к шару шар лопается. Столкновение будет определяться не функцией hitTest, а формулой, определяющей, насколько снаряд приблизился к центру воздушного шара.
Подготовка ролика
В ролике Balloonshoot.fla клип лисы содержит кадр с меткой «stand» и анимационную последовательность, помеченную «walk». Анимация изображает лису, перемещающуюся влево (рис. 10.2), однако при помощи Action-Script вы можете повернуть лису в другую сторону, не создавая отдельной анимации. Главное условие: соломинка должна занимать во всех кадрах одно и то же положение относительно центральной точки клипа.
Читать дальше
Конец ознакомительного отрывка
Купить книгу