Для объединения объектов сцены в одну структурную единицу существует специальный элемент – «композиция» (composition). Сцена (scene) представляет собой композицию видимых двухмерных объектов, как и объект типа composition, но сцена не может входить в другие композиции. То есть сцена является композицией верхнего уровня и в каждый момент времени у пользователя может быть только одна загруженная и работающая сцена.
Кроме своего основного назначения (объединения объектов), композиции могут использоваться просто как вспомогательный объект, у которого есть свои свойства, методы, события и обработчики событий.
Для реализации, динамического создания объектов через JavaScript включены JavaScript-классы для всех типов объектов.
Для создания однотипных объектов и композиций используется возможность создания собственных классов. Использование классов позволяет реализовать механизм наследования. Все объекты, объявленные в сценарии до элемента scene, считаются описанием классов.
Электронные учебные модули ОМС могут помимо ресурсов, размещенных в самом модуле, использовать также ресурсы из разделяемых библиотек ресурсов. Разделяемые библиотеки ресурсов (РБР) представляют собой контейнеры ресурсов, используемых несколькими ЭУМ.
Введен элемент sequencer, позволяющий задавать последовательность воспроизведения элементов сценария более явным и гибким образом. Элемент sequencer включает последовательность элементов script, которые выполняются последовательно один за другим во время воспроизведения.
Для включения мультимедиа компонентов в сцену предусмотрены:
· Двухмерные медиа-объекты (статические изображения, анимации и текст).
· Объекты для включения звуковых и видео фрагментов.
· Объекты для включения и управления ActiveX-компонентами (используются специализированные элементы browser, flash и quicktime).
· 3D объекты (3D-сцены и персонажи – специальные трехмерные человекоподобные объекты).
Объявляется несколько специализированных глобальных функций, которые можно вызвать из любого JavaScript и использовать для отладки.
4.3. Инструментальные средства сборки и отладки ЭУМ
Как указывалось выше, мультимедиа компоненты контента и моделеры, входящие в составы ЭУМ, разрабатываются с помощью стандартных инструментальных средств, в script ЭУМ используются широко известные языки. При этом разработчик свободен в выборе содержания и методах его представления, использовании новых методик и педагогических инструментов – интерактива, мультимедиа, моделинга.
Однако написание сценария (script) компоновка мультимедиа элементов в задуманные композиции (сцены), сборка ЭУМ и его отладка представляют собой достаточно трудоемкие задачи. Для сокращения трудозатрат разработчику ЭУМ предлагаются специализированные инструментальные средства сборки и отладки ЭУМ:
· визуальный редактор-компоновщик;
· редактор сценариев ЭУМ,
которые позволяют быстро и удобно объединить мультимедиа компоненты в интерактивные композиции и отладить ЭУМ. Отметим, что предлагаемые специализированные средства функционируют совместно с унифицированным плеером ЭУМ, что означает автоматическое выполнение интерфейсных требований.
Визуальный редактор-компоновщик учебных модулей выполняет следующие основные функции:
- создание новых учебных модулей (пустых или по шаблону);
- открытие рабочих версий (неупакованных) учебных модулей;
- добавление в модули новых сцен (пустых или по шаблону);
- добавление в сцену новых элементов (мультимедиа компонентов);
- установка необходимых свойств элементов сцены;
- визуальное размещение двухмерных элементов сцены;
- визуальное размещение объектов трехмерных сцен;
- группировка элементов сцены (в композиции или группы);
- задание поведения элементов сцены путем добавления обработчиков событий на языке JavaScript;
- редактирование файлов сценария сцен и вспомогательных XML-файлов в специализированном редакторе;
- запуск сцен в программе-реализаторе для проверки правильности работы сценариев;
- просмотр протокола работы программы-реализатора и другой отладочной информации;
- задание метаданных модуля через заполнение полей специальных диалоговых окон;
Редактор скриптов выполняет следующие типовые операции:
- создание нового файла скрипта;
- открытие существующего файла скрипта;
- сохранение измененного файла скрипта;
- копирование выделенного текста в буфер обмена;
- вставка текста из буфера обмена;
- поиск и замена текстовых блоков;
- проверка соответствия сценария правилам написания.
Редактор скриптов выполнен в виде исполняемого exe-файла с набором вспомогательных библиотек и файлов.
5. Технические описания
Ниже конкретизируются объектная модель программы-реализатора ОМС, форматы данных в ЭУМ, которые воспринимаются ПР текущей версии 1,0, а также упаковка структурных составляющих ЭУМ в ZIP-контейнер с унифицированной «точкой входа» в модуль, используемой программой реализатором.
5.1. Объектная модель программы-реализатора ОМС
Ниже приведено краткое описание объектной модели программы-реализатора ОМС. Детальная спецификация объектной модели ПР входит в состав документации к инструментальным средствам сборки и отладки ЭУМ.
5.1.1. Состав, структура и функциональность объектов
Во время синтаксического разбора XML-документа, описывающего сцену, создается иерархическая структура объектов в соответствии с вложенностью элементов XML-файла. Эта иерархическая структура (DOM) и является тем основным набором объектов, с которыми работают процедуры, описанные на языке JavaScript. Преимущественно это скрипты дополнительной инициализации объектов сцены и скрипты – обработчики событий, возникающих во время работы сцены. Для мультимедиа компонентов соответствующий им JavaScript-объект является своеобразной «оберткой», позволяющей через скрипт управлять их воспроизведением и получать информацию о параметрах и текущем состоянии.
5.1.2. Классификация типов объектов
Все объекты можно условно разделить на глобальные, графические мультимедиа объекты, объекты 3D-сцен, объекты звуковых фрагментов, объекты для работы с XML и вспомогательные.
Ниже перечислены все типы объектов предлагаемой технологии в соответствии с этой классификацией:
Глобальные:
Player – управление программой-реализатором;
Mouse – управление обработкой событий мыши;
Key – управление обработкой событий клавиатуры;
Event – параметры событий;
scene – сцены включают в себя мультимедиа компоненты, их композиции и реализуют интерактив, динамику и функциональность модуля.
Медиа-объекты и другие объекты сцены:
Image – изображение;
Animation – растровая анимация;
Video – видео-фрагмент;
Text – текст;
Viewport – область отображения 3D-сцен;
Composition – композиция объектов;
Button – «горячая зона» (кнопка или изображение объекта);
Styles – стили текстовых объектов;
Input – ввод текста;
ActiveX – ActiveX-объект;
Flash – Flash-анимация;
Browser – HTML-браузер;
QuickTime – QuickTime-объект.
Объекты3D-сцен:
Object3D – трехмерный объект;
Character – персонаж;
Scene3D – трехмерная сцена;
Group – группа 3D-объектов;
Light – освещение;
Camera – камера;
Motion – движение 3D-объекта или персонажа;
Path3D – путь движения 3D-объекта или персонажа;
Shadows – параметры теней 3D-объекта или персонажа;
Shadow – параметры тени 3D-объекта или персонажа;
Speech – реплика персонажа;
Movement – набор движений персонажа для ходьбы;
Visemes – набор выражений лица персонажа («виземы»);
Cloud – настройки «облачка» персонажа;
Hint – настройки подсказки;
Idles – набор «движений простоя» персонажа;
Idle – «движений простоя» персонажа;
Materials – набор материалов 3D-объекта и персонажа;
Material – настройки материала 3D-объекта или персонажа;
Map – карта для текстуры 3D-объекта или персонажа.
Звуковые медиа-объекты:
Audio – звуковой фрагмент.
Поддержка XML:
XML (XMLDocument, XMLElement, XMLText).
Вспомогательные:
Sequencer – задание последовательности воспроизведения;
Plugin – программный plug-in.
Объекты каждого типа могут содержать как свой собственный набор свойств и порождаемых событий, так и наборы свойств и событий, унаследованных от супертипов:
Element – свойства, общие для всех объектов сцены
свойства:
name – имя объекта;
parent – ссылка на родительский объект в иерархии сцены;
_class – ссылка на объект класса, от которого унаследован объект;
target – полный «путь» к объекту в dot-нотации;
userEvents – перечень пользовательских событий;
атрибуты XML-элемента:
userProperties – перечень пользовательских свойств.
Loadable – свойства и события объектов с подгружаемым ресурсом
свойства:
src – указатель размещения ресурса;
события:
onLoad – ресурс загружен.
Visible – свойства и события объектов двухмерной сцены
свойства:
x – координата X;
y – координата Y;
width – ширина;
height – высота;
depth – глубина;
visible – флаг видимости;
xMouse – относительная координата X указателя мыши;
yMouse – относительная координата Y указателя мыши;
события:
onMouseDown – нажата кнопка мыши;
onMouseMove – переместился курсор мыши;
onMouseUp – кнопка мыши отпущена;
onRMouseDown – нажата правая кнопка мыши;
onRMouseUp – правая кнопка мыши отпущена;
onMouseWheel – повернуто колесо прокрутки мыши;
методы:
getMediaSize – получить размер изображения ресурса;
crop – оставить видимой прямоугольную область изображения;
show – показать;
hide – скрыть.
Button – свойства и события объектов, которые могут быть «кнопками»
свойства:
enabled – флаг активности;
hitArea – активная зона;
useHandCursor – изменять курсор при наведении на активную зону;
modal – флаг модальности;
события:
onPress – нажата кнопка мыши на активной зоне объекта;
onRelease – кнопка мыши отпущена на активной зоне объекта;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


