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

на главную - закладки

Жанры

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-элемент станет невидимым.

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

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Картофельное счастье попаданки

Иконникова Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Картофельное счастье попаданки

Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Корнев Павел Николаевич
Фантастика:
фэнтези
героическая фантастика
5.50
рейтинг книги
Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Доктора вызывали? или Трудовые будни попаданки

Марей Соня
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Доктора вызывали? или Трудовые будни попаданки

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Сумеречный стрелок 7

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

Жизнь под чужим солнцем

Михалкова Елена Ивановна
Детективы:
прочие детективы
9.10
рейтинг книги
Жизнь под чужим солнцем

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец