софтComputer Review#5(55)

Колосов С.Ю., ИрГТУ, лаборатория мультимедиа, kolosoff@istu.irk.ru

Сам себе разработчик
Авторские системы мультимедиа

 В предыдущих статьях ("CR", № 3, №4/1999 г.) были рассмотрены средства создания мультимедиа-презентаций. Несмотря на то, что презентационные системы дают пользователю достаточные возможности по разработке собственных мультимедиа-продуктов, большинство из них не ориентированы на разработку полноценного программного обеспечения. Цель презентационных пакетов - прежде всего, создание презентаций. Такие системы обходятся без «классического» процесса программирования, содержат ограниченный набор инструментов и объектов. С другой стороны, существуют мощные системы создания ПО с помощью языков программирования (С, Delphi), которые ориентированы не на пользователей, а на программистов, и требуют специализированных знаний.

 Часто спрашивают, а нет ли таких средств, которые сочетали бы в себе простоту, понятность и «красивость» презентационных систем, но при этом обладали возможностями систем (языков) программирования?

 Считаю, что такими возможностями обладают авторские системы мультимедиа. Эти инструментальные средства ориентированы как на пользователей, не знакомых с процессом программирования, так и на программистов. Круг людей, которым будет полезна эта статья, можно условно определить так: если вы используете компьютер постоянно, работаете с разными популярными программами (текстовыми и графическими редакторами, электронными таблицами, базами данных), не очень страшитесь нерусскоязычных программ, немного знакомы с процессом программирования (неважно, на каком языке) и стремитесь разрабатывать свои оригинальные приложения, то вам следует ознакомиться с возможностями авторских систем мультимедиа.

 Что позволяют сделать авторские инструментальные системы мультимедиа?

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

 Вы стремитесь к тому, чтобы ваша программа работала в компьютерной сети, интранете или Интернете - пожалуйста! Авторские системы снабжаются всеми необходимыми сервисами. Вы ограничены во времени, вам некогда изучать сложные системы программирования, вы хотите добиться максимального эффекта за короткое время? Авторская система представит вам удобные и быстрые инструменты разработки. В примерах вы обязательно найдете что-то похожее на ваш проект, и уже готовые объекты для своей разработки можно позаимствовать. Различные шаблоны, каталоги готовых объектов, clipartы помогут вам по возможности избежать утомительного процесса «ручного» создания объектов программы. Если вы хотите создать свои оригинальные объекты, с особыми свойствами, воспользуйтесь мощным языком программирования в сочетании с отличными интерактивными и графическими возможностями авторской системы.

 Вы желаете, чтобы система сама обучила вас своим возможностям? К вашим услугам интерактивная система обучения, которая на примерах показывает, как и что надо делать. Отмечу, что сам процесс создания приложения в авторской системе весьма приятен, у вас всегда есть возможность поэкспериментировать с внешним видом вашей разработки, использовать различные визуальные эффекты, подключить звуковые и видеофайлы. Вам не надо задумываться над тем, в какой операционной системе вы в дальнейшем будете использовать ваше приложение. Как правило, авторская система позволяет создать конечный вариант вашего продукта для Windows (от 3.1 до NT). Кроме того, система содержит инструменты создания дистрибутива для локальной сети или Интернета.

 Студентам, школьникам, преподавателям и сотрудникам учебных заведений

 Автор этой статьи работает в ИрГТУ и занимается вопросами разработки программного обеспечения учебного процесса. Из личного опыта известно, что для большого круга задач в образовательном учреждении необходимы программы, сочетающие в себе возможности программирования с интерактивностью, визуальностью, мультимедиа. Мой совет - совместите приятное и полезное в процессе разработки. Даже если вы фанатично влюблены в Pascal, Fortran, Visual Basic, С…. подумайте, а стоит ли вручную делать то, что в авторских системах можно сделать гораздо быстрее и проще. Учтите, что вряд ли вы напишите программу на профессиональном уровне (для этого нужен талант и огромные знания). Не ищите специальные программные инструменты, подходящие под ваши запросы, - воспользуясь авторской системой, вы сэкономите свое время и силы.

 Система ToolBook фирмы Asymetrix

 В качестве примера авторской системы можно привести систему ToolBook производства американской фирмы Asymetrix Corporation. Первые версии ToolBook появились еще во времена, когда Microsoft выпустила операционную систему Windows 3.0. С тех пор этот пакет существенно изменился и в настоящее время является одним из мощных средств разработки приложений для Windows. В этой статье будет рассмотрены версии, известные как ToolBook II Publisher (Publisher) и ToolBook II Instructor (Instructor). Независимо от версии, ядро пакета предоставляет разработчику примерно одинаковые возможности; в случае, когда различия будут существенными, в тексте статьи будут даны соответствующие указания на версию.

 Отличительной особенностью ToolBook'а, является структура файла, который принято называть "книгой" (book), состоящей из "страниц" (page). На "странице" располагаются объекты Toolbox'а в виде текстовых полей (field); элементарных векторных графических объектов – прямоугольников, эллипсов, секторов, многоугольников, линий; графических изображений (picture); интерактивных элементов управления – кнопок (button), панелей выбора (combo box); ОLE объектов; плееров для медиа файлов (stage); вьюверов (viewer) и других объектов.

 Каждая "страница" является как бы двухслойной и состоит из переднего слоя (foreground) и заднего фона (background). Объекты "книги" могут располагаться на обоих слоях "страницы", при этом слой background может быть общим у нескольких страниц.

 Создание объектов на "странице" допускается как с помощью инструментальной панели, так и вставкой из буфера обмена. Во время монтажа объектов на "странице" есть возможность перейти из режима "автора" (author) в режим "читателя" (reader). В режиме "читателя" вы можете использовать объекты, нажимать кнопки, листать странички, но не сможете изменить свойства объектов. Режимы "автор" и "читатель" достаточно условны; если "автор" "книги" разрешит "читателю" выполнять некоторые функции, то последний будет не пассивным наблюдателем, а получит возможность изменять свойства объектов "книги" самостоятельно и выполнять отдельные функции разработчика. Подобные возможности позволяют использовать ToolBook как универсальный редактор с достаточно гибкими настройками. Конечный продукт – электронную "книгу" можно запускать в режиме "читателя" с помощью Runtime-версии (отдельные, необходимые, DLL-файлы и проигрыватель). Если "автор" опасается за целостность своей электронной "книги", он может установить разнообразные пароли – на открытие "книги", на переход в режим "автора".

 ToolBook представляет разработчику хорошие возможности по формированию объектов "книги". "Автор" может изменить любое свойство объекта по своему усмотрению. Визуально, объекты в "книге" могут быть невидимыми (hide), прозрачными (transparent), помещенными вне поля "страницы". Объекты могут реагировать на различные события во время просмотра "книги" (к примеру - нажатие мышкой, наведение мышки на объект, нажатие клавиши на клавиатуре….). При этом они могут изменять свои местоположение, размеры, цвет, другие свойства.

 Важнейшим понятием в Toolbook'е являются "сценарии" (scriptы), которые выполняют функции отслеживания событий, происходящих в данный момент на "странице", в "книге", в другой программе, в операционной системе. Сценарий является одним из свойств объекта, и "автор" "книги" может сам программировать его или выбрать один из вариантов действия. Сценарий существует на уровне "страницы", background'a, "книги" и отдельного объекта. По своей сути, ToolBook можно отнести к объектно-ориентируемым и управляемым событиями системам. Во время просмотра электронной "книги" сценарии могут находиться в режиме ожидания (к примеру, только тогда, когда навели мышь на объект, начинается выполняться та часть сценария, которая реагирует на наведение мыши). Не следует думать, что работа с ToolBook'ом сопряжена только с написанием сценариев для объектов "книги". В ToolBook'е заложено множество инструментов, которые выполняют те или иные функции без сценариев.

 Например, вы хотите сделать простую электронную "книгу", которую читатель будет листать постранично. Вам необходимо сделать несколько "страниц", разместить на них текстовую и графическую информацию, сделать переходы по гипертекстовым словам и предусмотреть элементы управления в "книге" (кнопки перехода на следующую или предыдущую "страницу"). Все эти действия возможно реализовать без всякого программирования. Так, после того, как вы создали объект "кнопка" и написали на нем "следующая страничка", вы используете такое свойство любого ToolBook'овского объекта как "hyperlink" - оно позволяет назначить объекту связь с другой "страницей" в "книге", или переход в другую "книгу", или посещение web-сайта. Если вы используете в качестве гипертекстового объекта "текст" (слово, словосочетание, абзац), то вам необходимо выделить этот фрагмент текста и объявить его "hotword" ("горячее слово"); в дальнейшем "горячее слово" будет восприниматься как отдельный объект, связанный с другой "страницей" в "книге".

 Toolbook предлагает разработчику различные способы работы с графическими объектами. Работа с векторными графическими примитивами в ToolBook'е аналогична работе в любом векторном редакторе под Windows. Естественно, возможно объединить различные объекты в групповой объект, при этом отдельные элементы этого объекта сохраняют все свои индивидуальные свойства, в том числе и сценарии. Растровые графические изображения можно вставить в "страницу" "книги" как отдельный графический объект или как графический ресурс "книги", при этом графическое изображение может служить в качестве background'a или графики для объектов типа "кнопка". Графические файлы можно подключать в "книгу" и в форме внешних медиа-клипов, хранящихся на локальном диске, CD-ROMе, в компьютерной сети или в Интернете.

 В качестве медиа-клипов (clips) могут выступать видеофайлы (avi, mov, mpg - форматов), файлы анимации (fli,flc,mmm), графичесие файлы, звуковые файлы (wav, midi, rmi) и музыкальные фрагменты с компакт-диска. Предусмотрена возможность воспроизводить в качестве клипов фрагменты с видеодиска или через специальную плату с видеомагнитофона. Работа с медиа-клипами производится через клип-менеджер (clip manager). Для отображения медиа-клипов в ToolBook'е предусмотрен специальный объект "stage" (сцена); по своим свойствам он очень похож на окна плееров в Windows. Как в Publisher, так и в Instructor есть целый набор различных объектов типа "stage".

 Полезным инструментом в ToolBook'е является "ресурс-менеджер". Этот инструмент позволяет оптимально распределить графические ресурсы "книги" (к примеру, изображение, импортированное в "книгу" один раз, может использоваться многократно, на разных "страницах" и разными объектами). Ресурсами могут быть изображения различных иконок, курсоров, шрифты (если вы используете оригинальный набор шрифтов, то вам не надо заботиться об их установке на другом компьютере, достаточно объявить шрифт ресурсом, и ToolBook запишет всю информацию о шрифте в файл "книги"). Верхнее меню "книги" в режиме "читателя" является также ресурсом, а в состав ToolBookа входит программа "Редактор меню", которая позволяет конструировать собственное меню.

 ТоolBook содержит различные вспомогательные программы, такие как редактор звуковых файлов, редактор палитр (полезно для оптимизации графических файлов), графический редактор, редактор иконок и курсоров, ftp-утилиты.

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

 Если вам нужен готовый объект для "книги", откройте такой модуль, как "каталог" (Instructor). Здесь вы найдете множество объектов, которые достаточно перетащить мышкой в "книгу" из каталога. Содержание каталога сгруппировано по темам: Action (действия, которые часто используются при просмотре "книги"), Buttons and Text (Набор кнопок и разнообразных текстовых полей), Internet (содержит объекты для работы с фреймами, HTML-, VRML-, Java-файлами), Media (различные графические, анимированные объекты, аудио и видеокнопки, иконки, медиа-плееры), Questions (специальные объекты, позволяющие сформировать вопрос, тестовую страничку) и другие темы.

 Объект ToolBook'а Viewer по своим свойствам напоминает фрейм в Интернете. В окне Viewerа можно вывести отдельную "страницу" ToolBook'а, при этом Viewer может находиться в ином режиме работы, чем основное окно. Используя этот инструмент, можно разработать электронную "книгу", в которой одни "страницы" будут работать в режиме "автора", а другие - в режиме "читателя". Такие свойства позволяют создавать в ToolBook'е разнообразные редакторы.

 Если вы не удовлетворились готовыми объектами ToolBook'а и хотите сформировать собственный объект, создать ему сценарий (поведение объекта в зависимости от событий в книге), вы можете использовать язык Open Script. Это мощный и в то же время очень простой язык программирования, позволяющий реализовать любые сценарии. О создании сценариев читайте в следующем номере газеты.


софтComputer Review#5(55)

Copyright © 1998 "Компьютерное обозрение"
Дизайн - leidenwebdesign - http://leiden.irkutsk.ru