В. Дронов - Macromedia Flash Professional 8. Графика и анимация
- Название:Macromedia Flash Professional 8. Графика и анимация
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:СПб
- ISBN:5-94157-907-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
В. Дронов - Macromedia Flash Professional 8. Графика и анимация краткое содержание
Подробно, доступно и с юмором рассматривается создание современной интернет-графики и анимации с помощью пакета Macromedia Flash Professional 8. Описываются основные инструменты рисования и правки графики, использование слоев, образцов и библиотек, работа с текстом, импорт графики, видео и звука. Рассмотрен процесс производства фильмов стандартными, и весьма богатыми, средствами Flash. Также приводятся краткое описание встроенного языка программирования Flash — Action Script — и методика его применения для разработки интерактивных элементов. Рассказывается о публикации готового изображения или фильма для распространения через Интернет.
Macromedia Flash Professional 8. Графика и анимация - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Правда, график наш рисуется вверх ногами. Чтобы исправить этот огрех, перепишем наш сценарий. Теперь он будет выглядеть вот так (добавленный и измененный код выделен полужирным шрифтом):
var dx = 200;
dy = 400;
// Величина отступа от верхнего края рабочего листа
var х = 0;
var у = 0;
lineStyle(1, 0×000000);
for(х = -20; х < 21; х++) {
у = х * х;
beginFill(0×000000);
moveTo(dx + х — 1, dy — у + 1);
lineTo(dx + x + 1, dy — у + 1);
lineTo(dx + x + 1, dy — у — 1);
lineTo(dx + х — 1, dy — у — 1);
lineTo(dx + x — 1, dy — у + 1);
endFill ();
}
После этих изменений наш график будет нарисован нормально.
А теперь выясним, что можно сделать с масками, используя методы объекта movieClip .
Чтобы маскировать вложенный клип другим клипом (который будет превращен в маскирующий), используется метод setMask :
<���Маскируемый клип>. setMask (<���Клип-маска >);
Самое интересное заключается в том, что оба клипа совсем не обязательно должны находиться в разных слоях (о слоях см. главу 5, о маскирующих слоях — главу 14). Кроме того, и маскирующий, и маскируемый клипы могут содержать сложную анимацию и даже двигаться. Ух, каких чудес можно натворить!
Давайте создадим новый документ Flash, поместим на рабочий лист клип, содержащий любое растровое изображение, а на него наложим клип с какой-либо простой геометрической фигурой. Назовем нижний клип masked , а верхний — mask . После этого привяжем к единственному кадру анимации такой вот сценарий:
masked.setMask(mask);
mask.startDrag(true);
Первое выражение этого сценария маскирует клип-растровое изображение masked клипом mask . Второе выражение заставляет клип mask (т. е. маску) перемещаться вслед за курсором мыши.
Теперь запустим на воспроизведение созданный фильм в отдельном окне и начнем перемещать курсор мыши с места на место. Забавно получилось, не правда ли?
Кстати, маски, созданные путем вызова метода setMask , имеют приоритет над масками, созданными вручную. Иными словами, если мы создадим маскирующий слой с клипом-маской mask и замаскируем им другой клип masked , то выражение:
mask.setMask(masked);
сделает клип masked маской, а клип mask — маскируемым.
Маскируемый клип в данный момент времени может иметь только одну маску. Так, если для клипа masked вызвать метод setMask еще раз, но передать ему в качестве параметра клип mask2 , то он станет новой маской для masked , а предыдущая маска mask "уйдет в отставку".
Чтобы убрать маску совсем, достаточно вызвать метод setMask с параметром null :
masked.setMask(null);
Работа с кнопками
А теперь поговорим о кнопках и работе с ними с помощью сценариев. (Подробнее о кнопках см. главу 18 .)
Все находящиеся на рабочем листе кнопки, для которых было задано имя, представляют собой экземпляры объекта Button . Их создает сам Flash; нам же остается только использовать их свойства и методы.
Оператор typeof для кнопки возвращает строку "object" — это значит, что кнопка относится к объектному типу данных.
Свойства и методы объекта Button
По своим свойствам и методам объект Button во многом похож на объект movieclip . Имея весьма схожие наборы свойств и методов, эти два объекта зачастую ведут себя одинаково. В частности, объект Button поддерживает свойства х, _у, _xmouse, _ymouse, _height, _width, _alpha и _rotation , уже знакомые нам по объекту movieClip . Однако объект Button не поддерживает методы play, stop, gotoAndPiay, gotoAndStop и подобные им, так как назначение его все же иное, чем у объекта movieclip . Так что кнопку можно рассматривать как очень специализированный, "урезанный" вариант клипа.
Рассмотрим специфические свойства объекта Button , которые обязательно пригодятся нам в работе с его экземплярами. (Кстати, многие из этих свойств поддерживаются и объектом movieclip , но редко используются в клипах.)
Свойство enabled позволяет разрешить или запретить пользователю нажимать кнопку. Оно имеет логический тип: значение true разрешает доступ к кнопке, а значение false — запрещает.
Свойство _visibie позволяет сделать кнопку видимой или невидимой. Оно имеет логический тип: значение true делает кнопку видимой, а значение false — невидимой. При этом невидимая кнопка также недоступна для нажатия.
Свойство useHandCursor задает, какую форму примет курсор мыши, если поместить его над кнопкой. Если задано значение true , то отображается курсор в виде "указующего перста" (как над гиперссылкой). Если же задано значение false , то курсор имеет вид обычной стрелки.
Известно, что обычные кнопки в окнах Windows-приложений можно нажимать, не только щелкая по ним мышью, но и нажимая клавишу основной клавиатуры. Для этого кнопка должна иметь фокус ввода , который даст ей возможность принимать нажатия клавиш клавиатуры. Кнопка, имеющая фокус ввода, выделяется точечным прямоугольником, окружающим ее надпись.
Фокус ввода можно перемещать с одной кнопки на другую, согласно особой последовательности, называемой порядком обхода. Каждая кнопка имеет свой уникальный номер в этом порядке. Для перехода на элемент управления с большим номером в порядке обхода нужно нажать клавишу <���Таb>, для перехода на элемент управления с меньшим номером — комбинацию клавиш +.
Для задания порядка обхода кнопок Flash служат два свойства объекта Button . Рассмотрим их.
Свойство tabindex задает номер в порядке обхода для данной кнопки. Значением этого свойства может быть любое целое неотрицательное число.
Задать порядок обхода можно с помощью приведенного ниже сценария, привязанного к первому кадру анимации фильма:
btnForward.tabindex = 0;
btnBackard.tabindex = 1;
btnStop.tabindex = 2;
Также для этого можно воспользоваться панелью Accessibility,подробно описанной в главе 20.
Если ни для одной кнопки в фильме Flash не задан номер в порядке обхода (т. е. значение свойства tabindex равно undefined ), Flash будет применять порядок обхода по умолчанию, и кнопки будут "обходиться" по нажатию клавиши <���Таb> в том порядке, в котором они были созданы на рабочем листе. Также нужно иметь в виду, что значение undefined меньше любого числового, поэтому кнопки, для которых свойство tabindex не было задано, будут в порядке обхода первыми.
Читать дальшеИнтервал:
Закладка: