Чтение онлайн

на главную

Жанры

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Розенцвейг Гэри

Шрифт:

// Рисуем грани куба.

function drawLines {

for(i=0;i<lines.length;i++) {

loc1 = plotPoint(points[lines[i].p1]);

loc2 = plotPoint(points[lines[i].p2]);

this["line"+ij._x = locl.x;

this["line"+i]._y = locl.y;

this["line"+i]._xscale = loc2.x-loc1.x;

this["line"+i]._yscale = loc2.y-loc1.y;

this["line"+i]._alpha = loc1.z+100;

}

}

...

Внимание!

Важно, чтобы высота и ширина клипа линии была равна 100 пикселам. Тогда масштаб 100 % будет соответствовать 100 пикселам по ширине

и высоте, 200 % – 200 пикселам и т. д. Параметр толщины линии должен быть определен как "hairline", чтобы масштабирование не оказывало никакого влияния на ее толщину. Линия любой другой толщины, например 1, изменит свой масштаб соответственно изменению переменных _xscale и _yscale.

Все, что осталось сделать для того, чтобы к кубу были добавлены грани, – это задать вызов функции 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 %, тем самым делая элемент невидимым

...

Примечание

Эффект Alpha назван по аналогии с термином "alpha channel" (альфа-канал), который используется для описания изображений. Считается, что графическое изображение состоит из четырех каналов: красного, зеленого, синего и альфа. Первые три канала определяют цвет пикселов, последний – их прозрачность. Если значение альфа-канала равно 0, изображение совершенно прозрачно. Поэтому при установке свойства Alpha в значение 0 flash-элемент станет невидимым.

Поделиться:
Популярные книги

Кодекс Крови. Книга IХ

Борзых М.
9. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IХ

Неудержимый. Книга XIX

Боярский Андрей
19. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIX

Жена моего брата

Рам Янка
1. Черкасовы-Ольховские
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Жена моего брата

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Совок 4

Агарев Вадим
4. Совок
Фантастика:
попаданцы
альтернативная история
6.29
рейтинг книги
Совок 4

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Под маской моего мужа

Рам Янка
Любовные романы:
современные любовные романы
5.67
рейтинг книги
Под маской моего мужа

Идеальный мир для Лекаря 3

Сапфир Олег
3. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 3

Месть бывшему. Замуж за босса

Россиус Анна
3. Власть. Страсть. Любовь
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть бывшему. Замуж за босса

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Я князь. Книга XVIII

Дрейк Сириус
18. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я князь. Книга XVIII

Жандарм 5

Семин Никита
5. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 5

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2