4 курс (заочка) / Лекции / 1, 2 лекции МИС
.pdfsetInterval |
выполнять JavaScript-кода через равные промежутки |
|
времени; |
clearInterval |
отменить выполнение JavaScript-код через равные |
|
промежутки времени. |
Button
Объект не имеет видимого представления, а только задает активную область на сцене.
Input
Объект, осуществляющий возможность клавиатурного ввода.
свойства:
value |
текст; |
style |
ссылка на объект стилей. |
Flash
Объект осуществляет воспроизведение Adobe Flash – анимации.
методы: |
|
|
|
setVariable |
установить значение внутренней переменной в объекте |
||
|
Flash; |
|
|
getVariable |
получить значение внутренней переменной; |
||
callFunction |
вызвать внутреннюю функцию. Формат вызова |
||
|
следующий: |
|
|
|
|
|
|
|
myFlash.callFunction |
|
|
|
( |
|
|
|
'<invoke |
name="myfunc" |
returntype="xml"> |
|
<arguments><string>"Args"</string></arguments> |
||
|
</invoke>' |
|
|
|
) |
|
|
события: |
|
|
|
|
|
|
|
onFSCommand вызывается при срабатывании FS-команд. В глобальном объекте Event определяются свойства: «command» и «parameters».
Styles
Объект задает свойства (стиль) для текстовых объектов.
171
свойства: |
|
|
font |
параметры шрифта, например "italic bold 12pt serif"; |
|
fontFamily |
название шрифта; |
|
fontStyle |
наклон шрифта; может принимать значения: «normal», |
|
|
«italic»; |
|
fontWeight |
толщина шрифта; может принимать значения: «normal», |
|
|
«bold»; |
|
fontSize |
размер шрифта; может задаваться как в пикселях, так и в |
|
|
пунктах, например: "14px" или "14pt"; |
|
lineHeight |
высота строки (межстрочное расстояние) может |
|
|
принимать значение: «normal», а можно также задать |
|
|
цифровые значения в пикселях, пунктах, процентах или |
|
|
быть задано строковой константой «normal», например: |
|
|
"5pх", "3pt", "150%" или "normal"; |
|
textAlign |
выравнивание текста; возможные значения: "left", "right", |
|
|
"center", "justify"; |
|
textIndent |
отступ первой строки абзаца; задается в пикселях или |
|
|
пунктах; |
|
color |
цвет, возможны следующие форматы задания цвета: |
|
|
– |
#RGB - "#F00"; |
|
– |
#ARGB - "#7F00"; |
|
– |
#RRGGBB – "#FF0000"; |
|
– |
#AARRGGBB – "#77FF0000"; |
|
– rgb Af Gf Bf – "rgb 1.0 0.5 0.0"; |
|
|
– символьное обозначение цвета согласно HTML – |
|
|
"darkblue". |
|
Viewport
Область отображения 3D-сцен
172
свойства: |
|
camera |
камера 3D-сцены, «через которую смотрим»; |
show_hints |
флаг «показывать подсказки»; |
include |
массив ссылок на 3D-объекты, которые надо показывать; |
exclude |
массив ссылок на 3D-объекты, которые не надо |
|
показывать. |
методы: |
|
getObjectIn |
получить 3D объект по двухмерным координатам; |
getProjection |
получить проекционные координаты 3D объекта или |
|
точки. |
Object3D
Трехмерный объект.
свойства:
shadow |
ссылка на объект Shadows; |
materials |
свойства материалов; |
motion |
первоначальное положение. |
Scene3D
Трехмерная сцена.
Group
Группа 3D-объектов.
Light
Источник освещения в трехмерной сцене.
Camera
Объект камера в трехмерной сцене.
свойства:
fov |
FOV камеры; |
dest |
точка, куда направлена камера. |
173
Motion
Движение 3D-объекта.
свойства: |
|
inverse |
обратное движение; |
duration |
длительность движения; |
primary |
флаг приоритетности движения; |
tracks |
параметры треков движения. |
XML
Объект позволяет получать из OST-сценария доступ ко внешним XML-файлам.
свойства:
XMLDocument ссылка на XML документ (DOM Level 1).
Sequencer
Объект позволяет задавать последовательность воспроизведения элементов сценария более явным и гибким образом. Элемент включает последовательность элементов script, которые выполняются последовательно один за другим во время воспроизведения.
Используется также несколько вспомогательных типов данных, которые могут потребоваться для представления некоторых структур данных:
|
Color – цвет |
r |
красная составляющая цвета [0 … 255]; |
g |
зеленая составляющая цвета [0 … 255]; |
b |
синяя составляющая цвета [0 … 255]; |
a |
alpha, степень непрозрачности цвета [0 … 255]. |
Point – точка
174
xкоордината X (целое число);
yкоордината Y (целое число).
Rectangle – прямоугольная область left левая граница (целое число);
top верхняя граница (целое число); right правая граница (целое число); bottom нижняя граница (целое число).
Position3D – позиция в трехмерном пространстве
xкоордината X (вещественное число);
yкоордината Y (вещественное число);
zкоордината Z (вещественное число).
clone |
возвращает копию объекта; |
add |
прибавляет координаты другого вектора; |
sub |
вычитает координаты другого вектора; |
mult |
умножает все компоненты вектора на скаляр; |
div |
делит все компоненты вектора на скаляр; |
dot |
вычисляет скалярное произведение векторов; |
cross |
вычисляет векторное произведение векторов; |
blend |
интерполирует два вектора; |
normalize |
нормализует вектор; |
length |
вычисляет длину вектора. |
|
Rotation3D – поворот в трехмерном пространстве |
x |
координата X вектора (вещественное число); |
y |
координата Y вектора (вещественное число); |
175
z |
координата Z вектора (вещественное число); |
a |
угол поворота (вещественное число в радианах). |
clone |
возвращает копию объекта; |
mult |
возвращает результат двух последовательных поворотов; |
conjugate |
возвращает обратный поворот; |
blend |
вычисляет промежуточный поворот между двумя заданными; |
normalize |
нормализует кватернион поворота; |
Scale3D – масштаб в трехмерном пространстве
xмасштаб по координате X (вещественное число);
yмасштаб по координате Y (вещественное число);
zмасштаб по координате Z (вещественное число).
Поддержка XML
Формат XML очень удобен для хранения структурированных данных. Например, его можно использовать для хранения «метасценариев» сцен учебных модулей. Для работы с XML-ресурсами модулей в OST существует специальный тип XML. Тип XML унаследован от базовых типов Element и Loadable. В свойстве src указывается XML-файл, который будет загружен. На основе загруженного XML-файла строится иерархия объектов, которые соответствуют XML-документу (тип XMLDocument), XML-элементам документа (тип XMLElement), текстовым записям в XML-элементах (тип XMLText), секции комментариев (тип mlXMLComment), секции CDATA (тип mlXMLCDATASection), атрибуту (тип mlXMLAttr) и пространству имен (тип mlXMLNameSpace). Доступ к элементам загруженного XML-документа осуществляется через свойство XMLDocument соответствующего типа.
Все объекты иерархии XML-документа (XMLDocument, XMLElement, XMLText, mlXMLComment, mlXMLCDATASection, mlXMLAttr) унаследованы от базового типа
XMLNode (XML-запись), за исключением mlXMLNameSpace. Также введены вспомогательные типы объектов: mlXMLNodeList и mlXMLNamedNodeMap для хранения XML-записей.
XMLNode
свойства:
176
nodeName |
имя записи; |
nodeValue |
значение записи; |
nodeType |
тип записи: |
|
ELEMENT_NODE |
1 |
|
ATTRIBUTE_NODE |
2 |
|
TEXT_NODE |
3 |
|
CDATA_SECTION_NODE |
4 |
|
ENTITY_REFERENCE_NODE |
5 |
|
ENTITY_NODE |
6 |
|
PROCESSING_INSTRUCTION_NODE |
7 |
|
COMMENT_NODE |
8 |
|
DOCUMENT_NODE |
9 |
|
DOCUMENT_TYPE_NODE |
0 |
|
DOCUMENT_FRAGMENT_NODE |
1 |
|
NOTATION_NODE |
2 |
|
NAMESPACE_DECL |
8 |
parentNode |
ссылка на родительскую запись; |
|
childNodes |
список дочерних записей (mlXMLNodeList); |
|
firstChild |
ссылка на первую дочернюю запись; |
|
lastChild |
ссылка на последнюю дочернюю запись; |
|
previousSibling |
ссылка на предыдущую запись; |
|
nextSibling |
ссылка на следующую запись; |
|
attributes |
карта атрибутов (mlXMLNamedNodeMap); |
|
ownerDocument |
ссылка на документ; |
|
textContent |
объединение значений дочерних записей; |
|
nameSpace |
пространство имен (XMLNameSpace). |
|
методы: |
|
|
insertBefore |
вставить запись перед дочерней записью; |
|
replaceChild |
заменить дочернюю запись на другую; |
|
removeChild |
удалить дочернюю запись; |
|
appendChild |
добавить дочернюю запись; |
|
hasChildNodes |
есть ли дочерние записи; |
|
cloneNode |
сделать копию записи. |
|
Некоторые из этих унаследованных свойств имеют различное значение для разных типов записей. Свойство nodeName имеет значение только для XML-элементов и содержит имя тэга. Свойство nodeValue имеет значение только для текстовых записей. У
177
текстовых записей не может быть дочерних записей и атрибутов, поэтому для них не имеют значения свойства и методы работы с ними.
XMLDocument
XML-документ может содержать только один дочерний элемент (корневой) и не имеет атрибутов. У XML-документа, кроме унаследованных от базового типа, определены дополнительно следующие
методы: |
|
createElement |
создать новый элемент; |
createTextNode |
создать текстовую запись; |
createAttribute |
создать атрибут для элемента; |
createComment |
создать новый элемент «комментарий»; |
createCDATASection |
создать новую секцию CDATA; |
getElementsByTagName |
получить все элементы с заданным именем тэга |
|
(mlXMLNodeList); |
getElementById |
найти элемент по его идентификатору. |
XMLElement
У XML-элементов, кроме унаследованных, существуют следующие
свойства: |
|
tagName |
имя тэга. |
методы: |
|
getAttribute |
получить значение атрибута по имени; |
setAttribute |
установить значение атрибута по имени; |
removeAttribute |
удалить атрибут по имени; |
getAttributeNode |
получить атрибут по имени (mlXMLAttr); |
setAttributeNode |
установить атрибут значению объекта mlXMLAttr; |
removeAttributeNode |
удалить атрибут по имени или по значению объекта |
|
mlXMLAttr; |
getElementsByTagName |
получить все элементы с заданным именем тэга; |
findElement |
найти дочерний элемент. |
XMLText
Текстовая запись имеет следующие
свойства:
178
data |
текст записи; |
length |
длина текста записи. |
методы: |
|
substringData(offset,size) |
получить часть текста; |
appendData(str) |
добавить текст; |
insertData(offset,str) |
вставить текст; |
deleteData(offset,size) |
удалить часть текста; |
replaceData(offset,size,str) |
заменить часть текста; |
splitText(offset) |
разбить текстовую запись на две. |
mlXMLCDATASection
|
свойства: |
data |
текстовые данные записи; |
length |
длина текста записи. |
mlXMLNamedNodeMap
свойства: |
|
length |
размер списка. |
методы: |
|
item |
вернуть элемент по числовому индексу (XMLNode); |
getNamedItem |
вернуть объект по имени; |
setNamedItem |
поместить объект в список; объект должен иметь тип |
|
mlXMLAttr; |
removeNamedItem |
удалить объект из списка по имени. |
mlXMLNodeList |
|
свойства: |
|
length |
размер списка. |
методы: |
|
item |
вернуть элемент по числовому индексу (XMLNode). |
mlXMLNameSpace |
|
свойства: |
|
179
href |
идентификатор пространства имен; |
prefix |
префикс пространства имен. |
• Синтаксис
Описание сцены представляется в XML-формате и содержит элементы, соответствующие определенным типам.
Простейшая сцена, содержащая только одно изображение, размещенное по координатам (0, 0), описывается следующим образом.
Пример
<?xml version="1.0" encoding="UTF-8"?>
<RMT>
<scene>
<image src="back.png"/>
</scene>
</RMT>
Кодировка UTF-8, указанная в первой строке, является наиболее часто используемой кодировкой, в которой хранятся XML-документы. Она удобна с технической точки зрения, но не все редакторы могут корректно с ней работать. Можно использовать кодировку windows-1251:
<?xml version="1.0" encoding=" windows-1251"?>
Эта кодировка по умолчанию устанавливается основной в русифицированных версиях ОС Windows, и поэтому с ней может корректно работать большинство текстовых редакторов и программ для просмотра текста.
В формате XML используются для разметки несколько зарезервированных символов: амперсанд (&), левая угловая скобка (<), правая угловая скобка (>), апостроф (‘) и кавычки (“). Чтобы использовать эти символы в содержимом элемента или атрибута, необходимо использовать ссылку на сущность (entity), которая начинается со знака амперсанда и заканчивается точкой с запятой (;). XML предоставляет следующие внутренние сущности: & – для амперсанда, < – для левой угловой скобки, > – для правой, ' – для апострофа и " – для кавычки.
180
