Все, что осталось сделать для того, чтобы к кубу были добавлены грани, – это задать вызов функции makeLinesпри запуске ролика, а также функцию drawLinesиз функции reposition.На рис. 5.12 показан полученный результат. Весь ролик вы можете увидеть, запустив файл 3Dcube.fla на Web-сайте.
Рисунок 5.12. Трехмерный куб, состоящий из точек и линий
Другие возможности
Конечно, вы можете создавать фигуры более сложные, чем куб. На рис. 5.13 изображена небольшая модель космического корабля. Эта программа, содержащаяся в файле 3Dspaceship.fla на Web-сайте, обходится без функции drawPoints,хотя и использует массив pointsдля задания углов фигуры.
Рисунок 5.13. Простая трехмерная модель космического корабля; в ролике корабль вращается
Поэкспериментировав с наборами точек и линий, нетрудно создать множество различных трехмерных моделей. Вы можете сделать так, чтобы пользователь управлял вращением и наклоном объекта, или задать фиксированный наклон и вращение модели с постоянной скоростью. Можно даже изменять центральную точку экрана, чтобы создать иллюзию движения модели.
Глава 6 Игрушки и безделушки
• Волшебный хрустальный шар
• Музыкальный автомат
• Аналоговые часы
• Лавовая лампа
• Игра "Жизнь"
Прежде чем заняться созданием «полномасштабных» игр, давайте посмотрим, как устроены различные игрушки и безделушки. Их нельзя назвать собственно играми, поскольку у них нет цели и возможности ведения счета, однако они представляют собой приложения, которые могут работать автономно. Прежде всего рассмотрим пару элементарных интерактивных программ: волшебный хрустальный шар и музыкальный автомат, затем – два сложных, но неинтерактивных ролика: часы и лавовая лампа. В завершение мы рассмотрим очень старую и известную игру "Жизнь".
Волшебный хрустальный шар
Исходный файл: Crystalball.fla
Наверное, самой распространенной интерактивной программой, которую можно встретить в Internet, является программа-предсказатель, работающая на основе случайных чисел. Обычно она называется "Magic Eight Balls" (Восемь волшебных шаров), по имени популярной игрушки Tyco.
На рис. 6.1 показано, как может выглядеть подобная игра.
Рисунок 6.1. Лиса ответит на ваш вопрос после того, как вы щелкните по хрустальному шару
Задача проекта
После щелчка по шару лиса помашет лапами и пользователь получит ответ, который будет выбран наугад из списка.
Подход
Наиболее сложной задачей в данном ролике является создание изображений и анимации. Сценарий же довольно прост.
Подготовка ролика
Сначала рассмотрим, как выполняется анимация. Ролик состоит из двух частей. Первая представляет собой статический кадр, который выглядит, как показано на рис. 6.1. Ролик будет запушен после щелчка по хрустальному шару.
Единственным необходимым элементом в этом ролике является команда stop(), помещаемая в любой слой. На рис. 6.2. показана главная временная шкала ролика. Строчная буква "а" в первом кадре второго слоя (слоя "Text") обозначает, что этому кадру назначен код ActionScript, в данном случае команда stop().
Рисунок 6.2. Главная временная шкала содержит полную анимацию хрустального шара
Устройство главной временной шкалы зависит от фантазии аниматора. В рассматриваемом примере изображение лисы состоит из основного слоя и одного слоя для каждой руки. Изображение шара также включает несколько слоев.
Особое внимание следует обратить на то, как анимация развертывается во времени. Первый кадр представляет собой статический кадр без анимации, он содержит текст (см. рис. 6.1) и невидимую кнопку, которая помешается поверх хрустального шара.
Кнопка создается следующим образом: создайте новую кнопку, при помоши любой цветной области (например, зеленого прямоугольника) придайте ей нужную форму и поместите в один из верхних слоев главной временной шкалы. На данном этапе кнопка будет видна (рис. 6.3).
Рисунок 6.3. В первом кадре ролика видно изображение кнопки над хрустальным шаром
Нам необходимо, чтобы кнопка была активной и в тоже время скрытой от пользователя. Для этого в панели Properties выберите эффект Alpha и установите значение прозрачности 0 % (рис. 6.4). Можно просто заполнить в кнопке только кадр Hit, тогда она также будет не видна пользователю, но активна.
Рисунок 6.4. В панели Properties можно устанановить значение параметра Alpha в 0 %, тем самым делая элемент невидимым
...
Читать дальше
Конец ознакомительного отрывка
Купить книгу