Презентация состоит главным образом из движений отрезков
(заданных как движение двух их концов),
а также из изменений цветов узлов и отрезков и цветов других объектов.
Требуется группировать не только два движения (двух концов отрезка),
но и движение многих отрезков через разные интервалы времени.
Такой конечный автомат более удобно записывать перечислением
сэментов,
а не писать функции на JavaScript
(кстати, сэмент dot
могут выполнять
только неприкрепленные точки ломаной,
т.е. все промежуточные точки и, если она не закреплена, одна из конечных точек).
Запишем все презентации в отдельный файл,
например, "b.txt", и добавим внутрь тега
head
следующий тег
event(а не
ns), чтобы было возможно изменить реакцию на событие в одном файле таблицы переходов, а не во множестве серверных скриптов.
browserserver | presentation, browserserver |
<dot name= id= event= os= ns= x= y= > <dot name= id= event=del> <dad name= id= onname= onid= > <section name= id= event= os= ns= > <_ name= event= arg= arg2= > <obj name= event= os= ns= > <pres name= event= os= exec= > |
<dot name= id= event= x= y= time= > <dot name= id= event= x= y= speed= > <dot name= id= event=del time= > <dot name= id= event=del speed= > <section name= id= ns= > <_ name= event= arg= arg2= > <obj name= ns= > <pres name= exec= > <sound src= > <say type= data= class= > |
Когда необходимо, чтобы положение точки изменялось не скачком,
а плавно, в течение некоторого промежутка времени, используется атрибут time
,
который определяет за сколько секунд должно произойти перемещение.
В случае, если необходимо задать не время
достижения, а скорость движения к положению, используется атрибут
speed
в миллиметрах в секунду
(mm/sec).
Отсутствие обоих этих параметров эквивалентно
time
= 0 и speed
= ∞
Параметры time
и speed
взаимоисключающие.
В некоторых случаях необходимо, чтобы браузер произносил речевой комментарий или воспроизводил звуковой файл. Бывают следующие источники звука:
sayс параметрами: тип источника, источник, стиль (звуковой таблицы стилей) и назовем их
type,
data,
class. Значения
typeследующие:
data. Значение по умолчанию.
id
которого равен указанному в атрибуте data
dataв секундах
class, презентация должна воспринимать только свойства
volume
,
pitch
, pitch-rate
,
voice-family
, richness
,
azimuth
, elevation
,
speech-rate
,
speech-punctation
, speech-numeral
,
play-during
.
soundс атрибутом
src- нужно воспроизвести содержимое звукового файла, путь к которому указан в атрибуте
src.
Браузер выполняет сэменты последовательно. Одновременно он выполняет сэменты, которые расположены внутри сэмента <<>>. Внутри одновременных участков выполнения он выполняет последовательно те сэменты, которые внутри сэмента <>. Когда изменение состояния, местоположения и воспроизведение звука происходят одновременно, то длительность этого одновременного мероприятия равна наибольшей из длительностей.
<pn> <<>> <dot name=B id=10 x=50 y=70> <dot name=C id=20 x=80 y=90> <</>> <<>> <obj name=D ns=style-n> <obj name=E ns=style-p> <</>> </pn> |
<pn> <<>> <<>> <dot name=B id=10 x=50 y=70> <dot name=C id=20 x=80 y=90> <</>> <obj name=D ns=style-n> <</>> <obj name=E ns=style-p> </pn> |
Презентация имеет факультативный атрибут class
,
который ссылается на обычный css-файл, прикрепленный к html-документу.
doze), синхронности (
sync), цикличности (
cycle), перечисленных в отдельном файле.
Параметр doze
указывает, как должен реагировать презентация,
если в течение времени выполнения она будет запущена еще раз
пользователем или сервером.
При этом происходящее с другими презентациями во внимание не принимается.
Параметр sync
указывает,
когда должна быть выполнена другая презентация, который запущен во время выполнения данного.
Параметр cycle
указывает количество повторов выполнения.
Может быть целым числом или значением
loop, указывающим повторять
бесконечно. По умолчанию параметр равен единице (однократное воспроизведение).
Если объект, вызвавший презентацию, находится внутри тега
form
, о выполнении презентации браузер сообщает серверу.
Форма отправляет данные только после выполнения презентации.
Браузер не проверяет возможность или невозможность выполнения
всех команд презентации перед началом выполнения.