Научная статья на тему 'Представление панорамы Анжело Тозелли с помощью системы flash'

Представление панорамы Анжело Тозелли с помощью системы flash Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
124
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАНОРАМЫ А.ТОЗЕЛЛИ / FLASH

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мойсеюк Владимир Григорьевич

Статья входит в серию статей, связанных с созданием большого альбома видов Санкт-Петербурга. Автор написал в языке Flash демонстратор знаменитой круговой панорамы А.Тозелли, показывающей Санкт-Петербург 1820 г., как он виден с башни Кунсткамеры. В статье описывается техника использования системы Flash. Демонстрационное Flash-приложение помещено на диск к журналу.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Представление панорамы Анжело Тозелли с помощью системы flash»

Мойсеюк Владимир Григорьевич

ПРЕДСТАВЛЕНИЕ ПАНОРАМЫ АНЖЕЛО ТОЗЕЛЛИ С ПОМОЩЬЮ СИСТЕМЫ FLASH

Придумать зелёное солнце легко; трудно создать мир, в котором оно было бы естественным...

Дж.Р.Р. Толкиен

Век, в котором мы живем, называется веком информации и технологии. Именно поэтому достаточно остро встал вопрос о расширенных возможностях визуального представления информации в средствах масс-медиа. Одним из основных и динамично развивающихся источников стала глобальная сеть Интернет. Здесь очень актуальными проблемами являются своевременность, информативность, а также наглядность предоставляемых пользователям данных. Этого невозможно добиться без использования различных технологий и механизмов, одним из которых является графика.

По вполне понятным причинам не каждый способен достаточно быстро и качественно создать графическое сопровождение для необходимого отображения информации, ибо, как правило, графические пакеты нуждаются в довольно глубоком изучении и понимании, а также наличии навыков разработки дизайна. Но со временем стали появляться все более прогрессивные и удобные средства для визуального представления различного рода информации. Переломной точкой в процессе развития подобных средств я считаю тот момент, когда разработчики осознали всю эффективность использования векторной графики и приступили к созданию соответствующих продуктов. Первой стала компания Macromedia, которая на сегодняшний день является монополистом данной области. Это был пробный шаг, который позволил многим использовать векторную графику в сфере своей деятельности. Графические пакеты от Macromedia имеют по-

нятный интерфейс, разобраться с которым вполне по силам даже начинающему дизайнеру (достаточно любой книги по продукту). Картинки удивляли не только своей прорисованностью, четкостью, возможностью почти бесконечного приближения, но и размером файлов. Один и тот же файл с графикой в векторном представлении имел размер почти в 2, а иногда и в 3 раза меньше, чем в растре, а это, согласитесь, достаточно весомый аргумент в пользу векторной графики. Для Интернета это стало прорывом, так как после введения соответствующего формата позволило вставлять различные анимационные элементы в дизайн web-сайтов и создавать интерактивные сервисы. Для популяризации нового формата Macromedia выпустила специальный плеер для нового формата, который автоматически устанавливался на компьютере пользователя, если пользователь посещал web-стра-ницу, с расположенной на ней flash-анима-цией. Подобное решение привело к быстрому внедрению нового формата. И теперь, спустя 4 года после появления flash-техно-логии, мы уже не можем представить себе Интернет без векторной графики. Баннеры, навигационные меню, всплывающая реклама и другие элементы web-страниц - это далеко неполный перечень объектов, использующих flash. Уже несколько лет в Runet существуют целые онлайн игры, созданные полностью на flash.

Как уже было отмечено, компания Macromedia полностью захватила сектор векторной графики в Интернете, именно поэтому далее пойдет речь об одном из продуктов этой компании, а именно Macromedia

oAMojAMA

rf, "Шо-^глли, «f с бажШ щМаПклмери.

Flash 8 Professional. На сегодняшний день это наиболее полное и легкодоступное средство для разработки векторного движения в графике. (На диске представлена эта программа для ее более детального рассмотрения.)

В качестве примера я хотел бы привести реализованный мною проект -круговая панорама А. То-зелли, составленная из видов с башни кунсткамеры.

Обратите внимание на то, что при сканировании изображений тоже был применен векторный формат, благодаря чему удалось сохранить мельчайшие детали картинок, которые могут быть замечены только человеческим глазом и которые обычно теряются при сканировании в растр. Кроме того, в отличие от растровой графики, в которой при приближении ухудшается качество картинки и уменьшается количество мелких деталей, в векторной - прорисовываются маленькие детали, сохраняется цветопередача. Конечно же, помимо самих изображений потребуется специальная программа, с помощью которой пользователь сможет наслаждаться самим панорамным видом. Подобная программа создается на специальном встроенном java-по-добном языке ActionScript, специально разработанном для реализации движения объектов, а в нашем случае объектами будут являться изображения. Всего во Flash три типа объектов: Graphic, Button, Movie Clip. А все остальные являются либо расширением этих классов, либо представляются как их совокупность. В своей панораме я использовал все три основных типа, то есть лента панорамы, которая является представителем класса Movie Clip, составлена из картинок - пред-ставитей класса Graphic, а управляется все это кнопками - представителями класса Button. Все это было объединено в одно множество компонентов для реализации импорта в другие проекты. Так как все свойства и методы являются внутренними

(private), то это становится очень простой задачей.

При запуске большинства Windows-приложений автоматически создается «заготовка» (пустой документ, бланк) того типа, для работы с которым предназначено данное приложение. Например, при открытии окна текстового редактора Word в нем появляется пустой документ, в который вы можете ввести требуемый текст, добавить графику и т. д. Для нового документа используются параметры, установленные по умолчанию (размер и стиль шрифта, ширина полей и т. п.). Чтобы документ выглядел так, как хотели бы именно вы, целесообразно установить требуемые значения соответствующих параметров.

Подобным образом организована и работа с редактором Flash. При его запуске автоматически создается «заготовка» будущего фильма (точнее, его первой сцены). Если это необходимо, автор может установить собственные значения общих свойств фильма, таких как частота смены кадров, размеры окна, используемого для отображения фильма, цвет фона и некоторые другие.

Flash является диалоговым средством разработки, и он не нуждается в детальном пояснении всех действий. Все диалоги вызываются либо с панели инструментов, либо нажатием на правую клавишу мыши.

После установки общих параметров фильма можно переходить к формированию первой сцены фильма. Сначала я импортирую все необходимые мне для работы рисунки. Теперь у меня есть 12 изображений, но для работы с ними надо конвертировать их в символы. Итак, необходимо нарисовать обрамление для наших изображений, и тут Flash выступает в качестве графического редактора, ничем не отличающегося от многих других, предоставляющих все основные инструменты для рисования, закрашивания, ретуширования и комбинирования различных изображений. Для этого

Представление панорамы Анжело Тозелли с помощью системы Fiash

Листинг 1.

On (press) {// Здесь описано событие, при котором выполняется скрипт if (_root._currentframe != "End") {// Проверяется, дошли ли мы до конца "ленты" gotoAndStop(_root.nextFrame); // Переходим в следующий кадр } else

gotoAndStop("Begin"; // Идем в начало "ленты"

}

на временной диаграмме создаем новый слой, называем его «Window». Там мы рисуем нашу рамку такой, какой мы ее видим. Теперь создадим второй нижний слой. На этом слое начинаем создавать tween-ани-мацию, точнее, новый экземпляр данного класса, в котором и будут непосредственно размещены наши 12 объектов с изображениями. На данном этапе может возникнуть только одна проблема с сопоставлением и выравниванием изображений.

Теперь мы создаем последовательность равноотстоящих друг от друга ключевых кадров, в каждом из которых мы располагаем одну из наших картинок. Осталось только создать кнопки, с помощью которых будет организовано движение по нашей «ленте». Создаем новый символ - кнопку и переходим в режим редактирования, где рисуем 4 положения кнопки мыши -«Up», «Over», «Down», «Hit». Осталось только написать маленький скрипт на ActionScript (листинг 1) и опубликовать (Publish) результат в формате web-страницы.

В основном окне программы происходит прокрутка ленты панорамы, управление которой осуществляется с помощью кнопок. При нажатии на кнопку запускается соответствующий ActionScript, который подгружает новую часть панорамы (примерно 1/72 часть от общей длины панорамы).

При этом изменяются свойства объекта «Line» («лента»). Аналогичным образом при активизации других возможностей программы меняются свойства других объектов. Как видите, ничего сверхъестественного здесь нет.

В заключение хотелось бы отметить, что Macromedia Flash не является единственным представителем векторных пакетов, но он может стать лучшей отправной точкой в изучении графики в целом, а также в разработке векторного движения. И каждому, кто считает себя продвинутым пользователем, я советую изучить возможности этого маленького механизма под названием Macromedia Flash. Не сомневаюсь, что он будет хорошим подспорьем в реализации ваших идей и проектов.

С ШШМфиа KiOtMjiUX буфой OjiMftUfO&Afta

Приложение

ЗАМЕЧАНИЯ ОБ ИСПОЛЬЗОВАНИИ MACROMEDIA FLASH

При построении любого Flash-фильма используется объектно-ориентированный подход. Это означает, что все элементы фильма интерпретируются как объекты того или другого типа, для каждого из которых заданы некоторые свойства и определен набор допустимых операций. Например, для объекта «Текст» мы должны установить размер символов, способ начертания, цвет, и т. д. Текст можно определенным образом редактировать, вырезать, копировать, создавать на его основе текстовые гиперссылки, и т. п. То же самое можно сказать о графических изображениях и о звуке.

Тем не менее, при работе с Flash, вместо понятия «объект», используется термин символ (Symbol). Основное различие между ними состоит в следующем. Символ представляет собой своеобразный шаблон объекта с определенным набором свойств. Символ хранится в специальной библиотеке символов (Library) и может быть многократно использован как в одном и том же фильме, так и в нескольких фильмах. Каждая новая копия символа, помещенная в фильм, называется экземпляром символа (Instance). Экземпляр наследует все свойства самого символа, и между ними устанавливается связь: при изменении свойств символа соответствующие изменения автоматически применяются ко всем его экземплярам. Очевидно, что такой подход существенно экономит силы и время создателя фильма. Кроме того, механизм символов позволяет сократить и размер фильма: если в нем используется несколько экземпляров символа, то информация о его свойствах не дублируется. Вместе с тем, вы можете изменять некоторые свойства конкретного экземпляра, что не влияет на свойства символа-оригинала. Например, можно изменить размер и цвет экземпляра, а если речь идет о звуковом символе, - добавить тот или иной эффект.

Как правило, динамика в Flash-фильмах обеспечивается за счет того, что в течение некоторого интервала времени изменяются те или иные свойства экземпляра (например, координаты, цвет, размер, прозрачность и т. д.), то есть изменяется состояние экземпляра. С каждым состоянием экземпляра связан отдельный кадр фильма (Frame). Кадр, соответствующий изменению состояния экземпляра, называется ключевым кадром (Keyframe). Ключевой кадр сам рассматривается как объект соответствующего типа, свойства которого пользователь может изменять.

Динамика смены кадров фильма описывается с помощью временной диаграммы (Timeline). В качестве параметров временной диаграммы можно указывать частоту смены кадров, моменты начала и завершения движения объектов и т. д.

В фильме может использоваться несколько различных объектов. Состояние каждого из них может изменяться независимо от других, либо вообще оставаться неизменным (если, например, некоторый объект используется в качестве фона). Чтобы упростить описание поведения различных элементов фильма, каждый из них помещается, как правило, на отдельный слой (Layer). Разработчики Flash для пояснения роли слоев в фильме сравнивают их с листами прозрачной кальки. Собрав воедино «стопку» таких листов, вы можете получить некую сцену, на которой действуют различные «персонажи». Кстати о сценах. Сцена (Scene) - это еще один термин, используемый при работе с Flash. Каждая сцена представляет собой определенное сочетание слоев. Для простых фильмов бывает достаточно создание и описать одну-единственную сцену, содержащую один слой. Для более сложных может потребоваться создать несколько различных сцен. Переход от одной сцены к другой определяется уже не временной диаграммой, а несколько иным механизмом. В простейшем случае сцены фильма выполняются последовательно, в соответствии с их порядковыми номерами. Для более сложного построения фильма используются средства языка ActionScript.

При создании сложных фильмов достаточно важную роль играет еще одно понятие - клип (Clip, или Movie clip). Клип - это специальный тип символа. Он представляет собой как бы мини-фильм, для которого создается собственная временная диаграмма и устанавливаются собственные параметры (например, частота смены кадров). Клип, как и любой другой элемент фильма, может быть включен в библиотеку символов для многократного использования в фильме. Каждому экземпляру клипа может быть назначено собственное имя.

Любой элемент фильма может быть использован и внутри клипа. Разрешается также создавать «вложенные» клипы. Если требуется описать некоторые дополнительные условия активизации клипа внутри фильма, то для этого могут быть использованы средства языка ActionScript. В состав клипа могут включаться также интерактивные элементы (например, кнопки).

© Наши авторы, 2006 Our authors, 2006.

Мойсеюк Владимир Григорьевич, студент 4 курса математико-механического факультета СПбГУ.

i Надоели баннеры? Вы всегда можете отключить рекламу.