Создание мультимедийных материалов для Интернет с использованием пакета Macromedia Director

В работе отражены основные приемы и методы, используемые при работе с программой Macromedia Director. Изучая программу D

234 89 995KB

Russian Pages 21 Year 2003

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Создание мультимедийных материалов для Интернет с использованием пакета Macromedia Director

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

681.3.06 (07) M 545 № 3372 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛНОГО ОБРАЗОВАНИЯ ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

СОЗДАНИЕ МУЛЬТИМЕДИЙНЫХ МАТЕРИАЛОВ ДЛЯ ИНТЕРНЕТ С ИСПОЛЬЗОВАНИЕМ ПАКЕТА MACROMEDIA DIRECTOR ПО КУРСАМ

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ И ТЕЛЕКОММУНИКАЦИИ Для студентов специальностей 061800, 351300, 351400

ФЭМП

Декан ФЭМП, председатель метод. комиссии

Иванов Г.И.

Зав. кафедрой ПИ

Берштейн Л.С.

Таганрог 2003

УДК 681.3.068 (07.07)

Составители: Э.М.Котов, А.Н.Целых Методические указания к выполнению лабораторной работы «Создание мультимедийных материалов для Интернет с использованием пакета Macromedia Director». Таганрог: Изд-во ТРТУ, 2003. 21 с.

В работе отражены основные приемы и методы, используемые при работе с программой Macromedia Director. Изучая программу Director вы повысите свой профессиональный уровень и откроете для себя новые возможности в создании мультимедиа-приложений. Руководство включает в себя примеры по созданию типичных приложений. Некоторые примеры содержат иллюстрации с соответствующими комментариями. Приведены упражнения для проведения лабораторных занятий по курсам «Информатика», «Вычислительные системы, сети и телекоммуникации».

Рецензент С.А. Котеленко, канд. техн. наук, доцент кафедры ПИ ТРТУ.

1. ОСНОВНЫЕ ПОНЯТИЯ Загрузив программу Director вы увидите сцену, на которой расположены три окна: панель управления (control panel), окно труппы (cast) и окно партитуры (score).

Рис.1 Сцена На сцене воспроизводится фильм (movie). На рис.1 − это прямоугольная область, ограниченная рамкой (часть рамки скрыта за окнами). Панель управления На ней вы можете увидеть два индикатора: индикатор, в котором содержится номер текущего кадра фильма и индикатор, на котором отображается скорость воспроизведения созданного вами фильма, кнопки перехода на начало фильма, остановки и воспроизведения. Окно труппы Труппа программы Director может содержать различные элементы, которые могут отражаться на сцене. К их числу относятся различные изображения (например, в формате jpeg, gif, bmp, tiff ), цифровое видео (avi, mpeg и др.), музыкальные файлы, программы на языке Lingo (о нем будет рассказано в следующей главе). Для начала попробуем совершить простое действие: поместим в труппу какой-нибудь элемент. Переместите курсор на одну из ячеек Окна партитуры и нажмите на правую кнопку мыши.

3

Выберите "Import" (импортировать) и загрузите какойнибудь файл (например, в формате jpeg). Элемент появится в труппе. Теперь с нажатой левой кнопкой мышки перетащите элемент из труппы на сцену. При этом он отразится в окне партитуры. Перейдем к рассмотрению этого окна.

Рис.2 Окно партитуры Партитура − это сценарий вашего фильма (причем не обязательно линейный, т. е. возможно интерактивное общение фильма с пользователем). Партитура имеет следующий вид:

Рис.3 Появившийся в окне партитуры элемент называется спрайт (Sprite). Различные спрайты могут размещаться в различных каналах либо на одном канале, но при этом не должны накладываться друг на друга (иметь общие кадры). Спрайт на рис.3. начинается с 5-го и заканчивается 32-м кадром. То есть он появляется на сцене спустя 1/3 с (1/3 с = (5 кадров) * (15 кадров/с)) после начала фильма и исчезает спустя 32/15 с. Размеры (продолжительность) спрайта можно изменять, перемещая мышкой элементы, которые в дальнейшем будем называть "keyframes" (ключевой кадр) на его концах. Продолжим создание приложения. На сцене спрайт будет выглядеть следующим образом (рис.4).В центре изображения объекта находится изображение ключевого кадра на сцене. Перетащите его курсором на некоторое расстояние вправо, так чтобы на сцене появилось изображение спрайта с тянущейся от него прямой. Рис. 4

4

Запустите фильм. Объект начал двигаться. Усложним задачу: сделаем так, чтобы объект двигался по нужной траектории. Для реализации этого с помощью ключевых кадров задают линию, которая будет являться траекторией движения спрайта. Установите воспроизводящую головку на кадр 20 в партитуре и выберите в верхней строке меню Insert\keyframe. На 20-м кадре появится ключевой кадр. Ключевой кадр также появится на сцене. Сдвинув средний ключевой кадр вниз и последний – вправо, получим следующее (рис.5): Запустим фильм. Объект будет двигаться по параболе. Аналогичным способом можно создать любую траекторию движения.

Рис.5 Создание проектора Проектор – это готовое мультимедиа-приложение, которое может работать независимо от программы Director. Прежде всего запишем на диск нашу программу. Выберите в верхней строке меню FILE\SAVE AS... и запишите как Director movie. Затем выберите FILE\CREATE PROJECTOR, найдите только что записанный файл в списке, выделите его и нажмите кнопки ADD и CREATE. Проектор готов. Создание анимации, состоящей из нескольких спрайтов Импортируйте в труппу несколько изображений и затем поместите их в окно партитуры, как это показано на рис. 6 (так чтобы спрайты располагались друг за другом). Теперь запустите фильм.

Рис. 6 Управление ходом фильма Импортируйте в труппу два изображения кнопок "NEXT" и "PREVIOS" (они находятся в папке программы Director) или же ваши собственные кнопки. Затем поместите их в партитуру. Выберите в верхней 5

строке меню Xtras\Behavior library. Появившееся окно библиотеки реакций на события содержит элементы, используя которые вы можете сделать фильм интерактивным. Переместите из библиотеки элемент "Frame hold on curent" (сделать паузу на кадре) в поле скриптов (рис.3) на 10-й и 30-й кадры. Создайте в поле меток два маркера с именами "nextbutton" и “prevbutton" (на 1-ом и 20-ом кадрах). Теперь поместите элемент "Marker go to/Play marker" из библиотеки реакций на изображение кнопки "NEXT", и в поле "Destination marker" появившегося окна выберите маркер "prevbutton", на который будет осуществлен переход после нажатия кнопки "NEXT" в фильме. Аналогично поместите элемент "Marker go to/Play marker" из библиотеки реакций на изображение кнопки "PREVIOS", а в поле "Destination marker" появившегося окна выберите маркер "nextbutton", на который будет осуществлен переход после нажатия кнопки "PREVIOS". Запустите фильм. Нажатие на одной из кнопок вызывает переход к изображению другой. Используя этот пример, вы сможете создать меню, осуществляющее переходы к различным частям фильма (рис.7).

Рис.7

6

2. ЯЗЫК ЛИНГО Язык Линго является замечательной возможностью программы Director. Именно он выделяет ее среди других средств для создания мультимедиа-приложений. Главное назначение Линго − менять свойства различных объектов, используемых в фильме. Линго нельзя назвать сложным языком, так как многие программы ("скрипты"), написанные на нем, содержат достаточно простые конструкции, к тому же его синтаксис приближен к английскому языку, что упрощает его понимание. Основным элементом языка является скрипт (script). Скрипты можно разделить на стандартные и создаваемые пользователем. Скрипты "привязаны" к объектам фильма (спрайтам, элементам труппы, кадрам в партитуре и т.д.). Структуру скрипта можно представить в следующем виде: on имя_скрипта входные_параметры -- тело скрипта end Входные параметры перечисляются через запятую. Для вызова скрипта используется: имя_скрипта (значения_входных_параметров). Пример: on randompos xb,yb,xe,ye x = y0 + random(y-y0) y = x0 + random(x-x0) set the loc of sprite 1 = point(x,y) updateStage end -- Вызов randompos: on mouseEnter randompos(40,60,400,267) beep 1 end Пояснения. Скрипт randompos принимает входные параметры xb,yb,xe,ye, задающие прямоугольную область. Функция random(max) генерирует случайное число от 1 до max. Set the loc of sprite 1 = point(x,y) − меняет координаты вершины спрайта, находящегося в 1-м канале партитуры. The loc of sprite (номер спрайта) − это свойство спрайта, содержащее его координаты. Команда set − присваивает этому свойству новое значение. Команда updateStage − обновляет сцену. Заметим, что командой set мы лишь меняем свойства, положение спрайта меняется после выполнения updateStage. Процедура "beep 1" генерирует звуковой сигнал. Если вы хотите использовать комментарии, то перед вашим пояснением, написанным в отдельной строке, вставьте две черточки (--). Теперь используем эти скрипты в фильме. Создайте новый фильм, импортируйте в труппу какую-нибудь картинку. Нажмите на загруженном элементе левую (его поля станут синими), а затем правую кнопку мыши. В 7

появившемся меню выберите пункт "Cast member script". Появится следующее окно (рис. 8):

Рис. 8 Впишите в поле редактора приведенные выше скрипты "randompos" и "mouseEnter", а затем переместите из труппы в 1-й канал партитуры импортированную картинку. Запустите фильм. Появившееся на сцене изображение будет убегать от указателя мыши. Заметим, что процедура mouseEnter является стандартной, а randompos − нет. Стандартные события активируются в фильме при возникновении каких-либо событий для элемента фильма, к которому они привязаны. Некоторые стандартные события beginSprite endSprite prepareFrame enterFrame

idle exitFrame

посылается скриптами реакции спрайта на события, когда начинается первый кадр этого спрайта посылается скриптами реакции спрайта на события, когда заканчивается последний кадр этого спрайта посылается скриптами реакции спрайта на события непосредственно перед тем, как кадр изображается на экране посылается скрипту кадра партитуры и скрипту фильма при первом вхождении в кадр. Сообщение посылается снова и снова, если кадр зациклен. В программе Director 6 это сообщение принимают также скрипты реакции на события регулярно посылается скрипту кадра или фильма между процедурами on enterFrame и on exitFrame посылается скрипту кадра партитуры и скрипту фильма. Возникает после сообщений enterFrame и idle. Сообщение посылается снова и снова, если кадр зациклен. В программе Director 6 это сообщение принимают также скрипты реакции на события 8

посылается, когда пользователь нажимает клавишу на клавиатуре. Сообщение может быть перехвачено до того, как его получит соответствующая функция программы Director, например, обрабатывающая ввод в редактируемое текстовое поле keyUp посылается, когда пользователь отпускает нажатую клавишу на клавиатуре. Сообщение может быть перехвачено до того, как его получит соответствующая функция программы mouseDown посылается, когда пользователь нажимает левую кнопку мыши mouseUp посылается, когда пользователь отпускает левую кнопку мыши mouseEnter посылается скрипту реакции спрайта на события, когда указатель мыши входит в область, занимаемую спрайтом на сцене mouseLeave посылается скрипту реакции спрайта на события, когда указатель мыши выходит из области, занимаемой спрайтом на сцене mouseUpOutsi посылается, когда пользователь отпускает кнопку мыши, de после того как указатель покинул сцену rightMouseDo посылается, когда пользователь нажимает правую кнопку wn мыши rightMouseUp посылается, когда пользователь отпускает правую кнопку мыши startMovie посылается, когда начинается фильм stopMovie посылается, когда фильм закончен или пользователь щелкнул по кнопке Stop timeOut посылается, если пользователь бездействовал в течение определенного периода времени keyDown

Теперь создадим простой скрипт кадра. Поместите указатель мыши над любым кадром в поле скриптов партитуры и щелкните на нем правой кнопкой. Выберите "Frame script" и в появившемся поле редактора наберите следующий скрипт: on enterFrame go to 1 end Выполняемое им действие следующее: осуществляется переход фильма на первый кадр. Вместо первого кадра вы можете поставить какой угодно. Если вы хотите «заморозить» фильм на текущем кадре команду "go to 1" можно заменить на "go to the frame". Также можно переходить на метку кадра (создаются в поле маркеров партитуры) командой go to frame "имя_метки". Заметим, что the frame является одним из свойств фильма, которому автоматически присваивается номер текущего кадра. 9

Теперь создадим скрипт спрайта, реагирующий на нажатие кнопки мыши. Импортируйте в труппу два изображения нажатой и ненажатой кнопки (например, с именами "buttonUp" и "buttonDown" соответственно). Поместите на сцене элемент "buttonUp", щелкните на нем правой кнопкой мыши и выберите пункт "Script…" и в поле редактора создайте следующие скрипты: on mouseDown set the member of sprite the clickOn = member "buttonDown" updateStage end и on mouseUp set the member of sprite the clickOn = member "buttonUp" updateStage end Теперь запустите фильм и нажмите курсором мыши на появившейся кнопке. Изображение "buttonUp" сменится на "buttonDown", отпустите кнопку − опять появится изображение "buttonUp". Разберемся как же работают эти два скрипта. Свойство the clickOn содержит номер спрайта, на котором была нажата левая кнопка мыши. Команда set the member of sprite the clickOn = member "buttonDown" изменяет изображение спрайта с номером the clickOn на изображение, хранящееся в элементе труппы с именем "buttonDown". Команда set the member of sprite the clickOn = member "buttonUp" изменяет изображение спрайта с номером the clickOn на изображение, хранящееся в элементе труппы с именем "buttonUp". The member of sprite ном_спрайта − является свойством спрайта, указывающим на его изображение. Вот список некоторых свойств спрайта, которые вы можете в дальнейшем использовать при написании собственных скриптов: the loc of sprite ном_спрайта − содержит координаты спрайта на сцене в формате point(x,y); the member of sprite ном_спрайта − ссылается на изображение спрайта; the rect of sprite ном_спрайта − содержит координаты левой верхней и правой нижней вершин прямоугольника спрайта. Пример: set the rect of sprite 1 = rect(10,10,100,100); the left of sprite − содержит координату Х левой границы спрайта; the right of sprite − содержит координату Х правой границы спрайта; the top of sprite − содержит координату Y верхней границы спрайта; the bottom of sprite − содержит координату Y нижней границы спрайта. Пример: on mouseUp set the height of sprite 1 = (the height of sprite 1)*0,5 10

set the width of sprite 1 = (the width of sprite 1)*0,5 end Привяжите этот скрипт к какому-нибудь элементу сцены. Если вы запустите фильм и щелкните мышью на данном элементе, он уменьшится в два раза. The locH of sprite ном_спрайта − координата Y верхнего левого угла спрайта; the locV of sprite ном_спрайта − координата X верхнего левого угла спрайта; the visible of sprite ном_спрайта − указывает является ли спрайт видимым в данный момент времени. Принимает значения True или False. Пример: set the visible of sprite 1 = False − делает спрайт невидимым при щелчке мышью на нем; the backcolor of sprite ном_спрайта − цвет заднего фона спрайта. The ink of sprite ном_спрайта − цвет самого спрайта; Теперь рассмотрим некоторые управляющие структуры. 1. Условный оператор Оператор if имеет следующий формат: if условие then --набор команд else --набор команд end if 2. Циклы Для задания циклов вы можете пользоваться двумя структурами, первая из них выполняет заданное действие строго определенное число раз, вторая − пока выполняется какое-то условие. repeat with i=begin to end --набор команд end repeat Здесь begin − начальное значение переменной "i", а end − конечное. Пример: on mouseDown repeat with i=1 to 100 set the locH of sprite 1 = the locH of sprite 1 + 1 end repeat end Другой вариант цикла: repeat while условие --набор команд 11

end repeat Пример: on mouseEnter set the visible of sprite 1 = False updateStage repeat while rollover(1) end repeat set the visible of sprite 1 = True updateStage end Если привязать этот скрипт к элементу сцены и запустить фильм, то при помещении на него указателя мыши элемент исчезает, а когда указатель покидает его, вновь появляется. Этот скрипт работает следующим образом: − сначала устанавливается невидимость спрайта на сцене, затем выполняется цикл до тех пор, пока указатель находится над областью спрайта. Когда условие rollover(1) перестает выполняться − спрайт вновь становится видимым; − rollover(ном_спрайта) равна True, когда указатель мыши находится над данным спрайтом, и False, когда указатель покидает его. 3. Работа со списками Списки в Линго имеют назначение, сходное с массивами в других языках программирования. Далее приводится пример скрипта, использующего списки. Для его работы потребуется создать текстовый спрайт. Откройте встроенный текстовый редактор программы (нажатием клавиш Ctrl+6) и напишите в нем какой-нибудь текст − он автоматически появится в партитуре. Щелкните на нем правой кнопкой мыши и выберите в появившемся меню "Cast member properties". Измените имя в редактируемой строке (в примере будем подразумевать его имя как "text"). Перенесите его на сцену и откройте окно редактирования скриптов. Для данного текстового спрайта создайте следующий скрипт: on mouseEnter --создание списка из чисел с именем "mylist" put ["1","5","8","99"] into mylist --создание списка из слов put ["Oranges","Apples","Mangos"] into fruits --создание смешанного списка --put [1,5,"Apples","Pins",[3,7]] into mixedlist --создание списка c идентификаторами --put [#name:"Bob", #age:28, #profession:"Farmer"] into character set text of member "text" = getAt(mylist,3) set text of member "text" = getAt(fruits,1) 12

set text of member "text" = getAt(mixedlist,3) set text of member "text" = getAt(character,#name) end Запустив фильм, вы увидите мелькающие надписи: "8", "Oranges", "Aples", "Bob". Процедура getAt(mylist,num) − возвращает элемент списка "mylist" с номером num. Вот еще некоторые процедуры для работы со списками: setAt(fruits,num,"Pine") − заносит в элемент c номером num списка "fruits" новое значение; add(mylist,1999) − добавление в список "mylist" нового элемента; delete(mylist,num) − удаление из списка "mylist" элемента с номером num; count(list) − возвращает число элементов списка.

3. РАБОТА СО ЗВУКОМ Рассмотрим работу со звуковыми файлами двух форматов: midi и wav. Проще всего озвучить ваше приложение можно следующим образом: импортируйте в труппу файл в формате wav. Затем поместите элемент труппы в один из двух звуковых каналов партитуры. Для вызова каналов нажмите на кнопку в правой части окна партитуры. Однако после окончания звука его циклического повторения не последует. Для того, чтобы повторить звук следует написать на Линго следующие команды: puppetSound numchanel, "grsound" updateStage C помощью puppetSound осуществляется захват звукового канала numchanel элементом труппы с именем "grsound", updateStage − воспроизводит звук. Отключить звук можно командой puppetSound numchanel, 0. Теперь рассмотрим работу со звуками в формате MIDI. Для воспроизвеения midi-файла можно воспользоваться командами: mci "open filename type sequencer alias song" mci "play song from 0", где параметр filename содержит местоположение (путь) midi-файла (например: "d:\music\sting.mid"). Для прекращения воспроизведения вы можете воспользоваться командой: mci "close all".

4. РАБОТА С ВИДЕОИЗОБРАЖЕНИЕМ

13

Программа Director поддерживает следующие форматы видео: QuickTime, AVI, MPEG, PICS. Вы можете загрузить видео-файл в партитуру, а затем с помощью Линго работать с ним. Приведем основные свойства видео-спрайта (под ним будем подразумевать видео-элемент труппы, помещенный на сцену): the movieRate of sprite num − это свойство определяет скорость воспроизведения видео-спрайта из канала num. Может принимать следующие значения: 2 – воспроизведение с двойной скоростью; 1 – нормальная скорость; 0 – пауза; -1 – воспроизведение в обратном направлении; -2 – воспроизведение в обратном направлении с двойной скоростью; the movieTime of sprite num − текущая позиция видеофильма в тиках (напомним,1 тик = 1/60 с); the duration of the member of sprite num − общая продолжительность фильма в тиках. Пример. Импортируйте видео-файл в труппу, а затем поместите его на сцене (допустим в первый канал). Создайте кнопки "Play", "Pause", "Stop", "RewindRight", "RewindLeft" (это могут быть просто текстовые элементы). Создайте следующие скрипты. Для кнопки "Play": on mouseDown set the movieRate of sprite 1 = 1 end Для кнопки "Pause": on mouseDown set the movieRate of sprite 1 = 0 end Для кнопки "RewindRight": on mouseDown set the movieRate of sprite 1 = 2 end

14

Для кнопки "RewindLeft": on mouseDown set the movieRate of sprite 1 = -2 end Для кнопки "Stop": on mouseDown set the movieTime of sprite 1 = 0 end Запустите фильм. Кнопка "Play" − воспроизведение видео-спрайта, "Pause" − пауза, "Stop" − остановка воспроизведения и перемотка на начало, "RewindLeft" − перемотка вправо, "RewindRight" − перемотка влево.

5. БОЛЕЕ СЛОЖНАЯ ТЕХНИКА РАБОТЫ С ИЗОБРАЖЕНИЯМИ 5.1. Эффект "фонарика" С помощью методов наложения можно создать эффект "фонарика", при котором изображение в целом скрыто, а движущийся круг как бы освещает части картины. Достичь этого эффекта можно несколькими способами. Пусть вся сцена станет черной. Измените цвет фона на черный, выбрав пункты Movie, Properties (Фильм, Свойства) в меню Modify (Изменить). В качестве варианта можно было поместить черный прямоугольник в самый нижний канал спрайта. Теперь расположите изображение на сцене. Поместите его, например, в канал 2. Укажите для этого спрайта метод наложения Darkest, чтобы спрайт стал невидимым на черном фоне. Затем расположите закрашенный круг под изображением. Это будет канал 1. Убедитесь, что цвет переднего плана круга − белый, а метод наложения для него − Lightest. Можно воспользоваться и другими методами наложения в зависимости от типа и формы элемента труппы. В результате предпринятых действий изображение будет видно только в области круга. Причина кроется в том, что белый круг с методом наложения Lightest проступает над черным фоном. Картинка, для которой применяется метод наложения Darkest, подавляется черным фоном, кроме того места, где расположен круг. Этот эффект может иметь самое разное применение. Например, может быть создана многокадровая анимация с кругом, передвигающимся по сцене. Можно предоставить зрителю возможность управлять положением круга. Это реализуется, например, следующим кодом на Lingo:

15

on exitFrame put 30 into -r set the rect of sprite 1 = rect (the mouseH-r,the mouseV-r,the mouseH+r,the mouseV+r) go to the frame end Здесь предполагается, что спрайт был зафиксирован для управления. Для указателя можно задать значение, 200, чтобы он не мешал. В приведенном коде 30 − это радиус круга. Назовем некоторые вариации эффекта "фонарика": 1) можно без труда инвертировать большинство упомянутых параметров и пользоваться белым фоном: для картинки примените метод наложения Lightest, для круга − Darkest, а сам круг окрасьте в черный цвет; 2) если нужно, чтобы изображение было не абсолютно черным, а лишь темнее, чем внутри круга, окрасьте фон в серый цвет; 3) вместо круга можно воспользоваться растровым изображением. Тогда "освещаемая" область может иметь произвольную форму. 5.2. Ролики Этот тип элементов труппы используется недостаточно широко. Он предлагает альтернативный способ создания анимации на сцене, позволяющий обойтись без рисования десятков кадров или использования Lingo. Фактически ролик (film loop) представляет собой последовательность изображений, как блокнот художникамультипликатора или отрезок кинопленки. Простейшим способом создания такой последовательности является экспорт анимации или цифрового видео из другой программы в файл PICS. После этого его можно импортировать в программу Director в виде ролика. Он появится в труппе как отдельный элемент вместе с серией изображений, по одному на каждый кадр. Теперь этот элемент можно поместить на сцену. Он появится в качестве первого изображения ролика, а во время воспроизведения фильма остальные картинки будут сменять друг друга со скоростью, указанной для фильма. Ролики предоставляют способ включения анимации или цифрового видео в фильмы Director. Недостатком этого способа является то, что он требует много места на диске, поскольку здесь изображение не может быть подвергнуто такой компрессии, как в видеоформате. Ролик можно перемещать по сцене и даже менять его размер до или во время анимации. Еще одним преимуществом ролика является возможность задать либо однократное, либо циклическое воспроизведение, причем на это по-прежнему требуется лишь одна ячейка партитуры. Таким образом, можно упростить партитуру, поместив длинные анимации в один спрайт. 16

Ограничением такого способа создания анимации является то, что ролик занимает на сцене прямоугольник, фон которого обязательно должен быть белым. Воспользоваться методами Matte или Background Transparent не удастся. В качестве ролика можно также импортировать и фильм Director. В этом случае элемент труппы будет фактически действовать как минипартитура, а все элементы импортированного фильма добавятся в текущую труппу. В программе Director можно создать серию абсолютно самодостаточных анимаций в виде отдельных фильмов и затем импортировать их в Director, как ролики. Можно создать новые внутренние труппы для хранения этих элементов и убедиться, что их окна открыты во время импортирования, а программа Director помещает туда ролик и новые элементы. Мощность роликов несколько понижена тем фактом, что в них нельзя полностью использовать Lingo. Скрипты партитуры действовать не будут, так что разработчику придется использовать простейшую анимацию без какой-либо реакции на события. 5.3. Методы наложения, смешивание и цвет при создании кнопок В любом профессионально разработанном проекте, где используются кнопки, у каждой из них должно быть несколько состояний. Кнопка может быть нажата или нет, активна или неактивна, на ней может находиться указатель мыши и т. д. Одним из способов реализации состояний кнопки является создание элемента труппы для каждого из них. При наличии большого количества кнопок такое решение может оказаться слишком трудоемким. Кроме того, добавление или модификация кнопок в конце проекта окажется еще более сложным делом. Гораздо проще воспользоваться такими средствами как метод наложения, смешивание, цвет фона и цвет переднего плана. Для каждой кнопки достаточно иметь единственный элемент труппы, а то или иное состояние будет реализовано за счет соответствующего эффекта. Такой способ позволит иметь много кнопок в фильме Shockwave, где на счету каждый байт. Действительно, любой кнопке будет соответствовать единственный элемент труппы, что экономит место в файле, а множество различных состояний сохраняет высокую функциональность. Наложение и смешивание тоже являются удобными средствами создания состояний кнопок. В большинстве случаев методы наложения Not Copy и Subtract изменяют внешний вид кнопки. Для создания различных состояний кнопки существуют два способа использования смешивания. Первый заключается в том, чтобы указать Blend в качестве первоначального метода наложения для кнопки и установить степень смешивания − 100%. Затем для создания альтернативного состояния можно понизить степень смешивания до 80%. Другая возможность − 17

установить первоначальную степень смешивания, равную 50% или 80%, а затем "оживить" кнопку, доведя это значение до 100%. Сочетая цвет, метод наложения и смешивание, можно создать большое количество вариантов. 5.4. Тени и другие эффекты в окне раскрашивания С помощью инструментов окна раскрашивания можно создать разнообразные эффекты. Например, для любого объекта можно нарисовать тень. Создайте копию объекта и поместите ее рядом с оригиналом в том же окне. Выделите копию и закрасьте ее одним цветом. Лучше всего сделать это с помощью таких инструментов, как "Закрашенный прямоугольник" и "Ведро". Может быть, понадобится сделать несколько мазков "Кистью". На рис. 9 показано изображение с окрашенной копией, расположенной рядом.

Рис. 9 Теперь воспользуйтесь инструментом "Область" и расположите оригинал над тенью. Чтобы все получилось, у "Области" должно быть значение "Лассо". Тень можно окрасить в черный, серый или любой другой цвет. Можно использовать окрашенную копию в качестве второго элемента труппы, поместив позади оригинального спрайта. Такую тень легко убирать со сцены и возвращать обратно. Можно добиться более интересного эффекта, при котором возникает впечатление, что наш объект прозрачный и расположен вертикально. Для этого потребуются другие инструменты окна раскрашивания.

Рис.10

18

Во-первых, создайте копию объекта в отдельном спрайте. Затем несколько раз примените по отношению к ней инструмент "Освещение", чтобы изображение стало менее ярким. Теперь в диалоговом окне Transform Bitmap "сожмем" изображение по вертикали. Наконец, с помощью инструмента "Перспектива" потяните изображение вправо, как показано на четвертом шаге рис. 10. Поместите оригинальное изображение в то же окно раскрашивания. Выделите его с помощью инструмента "Лассо" (опция See Thru Lasso) и расположите сверху тени. Можно окрасить тень в серый цвет и перемещать оригинал с помощью Лассо как непрозрачный объект. Еще одна возможность − разместить тень и карту в отдельных спрайтах, расположенных друг на друге. После этого можно удлинять спрайт-тень в последовательности кадров, создавая иллюзию перемещения источника света. Подобные технические приёмы годятся и для создания других зрительных эффектов. С помощью градиента Shape Burst можно создать более реалистичные изображения. Этот градиент отличается от других тем, что следует контурам закрашиваемой фигуры. На рис. 11 закрашенные фигуры соседствуют с оригинальными, незакрашенными.

Рис. 11 5.5. Образцы и плитки Программа Director позволяет использовать образцы (patterns) как на сцене, так и в окне раскрашивания. Для закрашенной фигуры − эллипса или прямоугольника − можно указать любой из стандартных образцов. Чтобы изменить цвета, используемые в образце, следует изменить цвет фона и цвет переднего плана. Эти цветные образцы называются плитками (tiles). Они могут быть изменены в диалоговом окне Tile Settings (Настройка плиток). Доступ к этому диалоговому окну можно получить с помощью опции Tile Settings, расположенной в самом низу поля выбора. Пользователь может изменить эти плитки, создав растровые элементы труппы и использовав их в качестве основы. Обратите внимание, что размеры плиток должны быть 16, 32, 64 или 128 пикселов. Плитки могут быть как квадратными, так и прямоугольными, но и это не обязательно. Пользователь может создать собственные плитки, импортируя текстуры из других программ. К примеру, модуль Extreme 3D фирмы Macromedia поставляется с целым лазерным диском, содержащим 19

различные текстуры. Импортируйте любую из них и укажите для нее размер 128x128. Плитки оказываются очень полезными в фильмах Shockwave. Они позволяют создать фон за счет повторения одного небольшого изображения. Образцы являются "интеллектуальным" инструментальным средством. Они представляют собой повторяющуюся последовательность, которая всегда начинается в левом верхнем углу экрана. Если графика, использующая образец, расположена в середине экрана, образец все равно привязан к левому верхнему углу. Это позволяет использовать несколько элементов изображения с идеально согласованными частями одного образца. То же самое справедливо и относительно заказных плиток. Они используются аналогично текстурам в программе трехмерной графики.

ЗАДАНИЕ 1. На основе приведённого выше описания изучите «панель инструментов», «окно труппы», «окно партитуры», методологию работы с пакетом Director, основы создания скриптов на языке Линго. 2. Создайте простую анимацию, использующую один спрайт: • спрайт должен двигаться по прямой; • спрайт должен двигаться по траектории. 3. Создайте анимацию из нескольких спрайтов. 4. Создайте анимацию с возможностью управления ходом фильма. 5. Создайте фильм с применением скриптов на языке Линго: • изображение "убегающее" от указателя мыши; • кнопка с изображением "нажата"-"отжата"; • кнопка с функцией перехода на первый кадр; • скрипт, использующий списки. 6. Импортируйте видеофайл в труппу. Создайте кнопки "Play", "Pause", "Stop", "RewindRight", "RewindLeft". Создайте соответствующие скрипты для этих кнопок. 7. Создайте следующие эффекты: • эффект "фонарика"; • объект с тенью; • объект прозрачен и расположен вертикально. 8. Подготовьте отчет о проделанной работе. 9. Продемонстрируйте результат преподавателю.

20

Котов Эдуард Михайлович Целых Александр Николаевич Методические указания к выполнению лабораторной работы СОЗДАНИЕ МУЛЬТИМЕДИЙНЫХ МАТЕРИАЛОВ ДЛЯ ИНТЕРНЕТ С ИСПОЛЬЗОВАНИЕМ ПАКЕТА MACROMEDIA DIRECTOR

Ответственный за выпуск Котов Э.М. Редактор Селезнёва Н.И. Корректор Чиканенко Л.В.

ЛР № 020565 от 23.06.1997 г. Подписано к печати 1/16 Формат 60х84 . Бумага офсетная. Печать офсетная. Усл. п.л. − 1,3 . Уч.-изд.л. – 1,1. Заказ № Тир.200 экз. «С» Издательство Таганрогского государственного радиотехнического университета ГСП 17 А, Таганрог, 28, Некрасовский, 44 Типография Таганрогского государственного радиотехнического университета ГСП 17 А, Таганрог, 28, Энгельса, 1

21