Читайте также:
|
|
Тело плугина может содержать следующие компоненты
· Локальные переменные, функции или структуры. Эти локальные объекты существуют, пока существует экземпляр объекта, созданного плугином. Видимость этих объектов из внешнего кода подчиняется тем же правилам, что и для аналогичных объектов в свитках
· Блоки параметров. Они определяют наборы переменных, которые отличаются от локальных тем, что могут быть анимированы. Кроме того, они запоминаются в файл сцены и восстанавливаются при его загрузке. Вы можете так же ассоциировать их с компонентом интерфейса. При такой ассоциации параметр становится привязанным к задатчику или чек-боксу и изменение в одном, автоматически влечет за собой изменение в другом.
· Средства работы с мышью используются для определения действий, совершаемых с помощью мыши в видовом окне. Например, это может быть указание координат точки, в которой будет создан объект.
· Свитки, содержащие компоненты интерфейса, с помощью которых Вы определяете параметры своих объектов.
· Обработчики событий – функции, получающие управление при тех или иных ситуациях. Набор возможных событий специфичен для каждого вида плугина, но есть и события, общие для всех типов.
Глобальные переменные не могут быть объявлены внутри тела плугина. Если Вы считаете, что наличие глобальной переменной необходимо для работы, опишите ее непосредственно перед определением тела плугина.
Локальные переменные присоединяются к экземпляру объекта, созданного плугином, и каждый новый объект создает собственную область локальных переменных. Когда Вы ссылаетесь на переменную, локальную в теле плугина, из функции или обработчика события, имеется в виду переменная активного экземпляра объекта. Значения локальных переменных не сохраняются в файл, и, соответственно, не восстанавливаются при его загрузке, но Вы можете присвоить им начальные значения обычным образом, и при загрузке файла сцены эти значения будут присвоены. Впрочем, это можно сделать явно в обработчике события Create.
Доступ к локальным переменным из внешнего кода осуществляется обычным образом. При этом следует иметь в виду, что локальные переменные могут быть перекрыты параметрами или свойствами, имеющими те же имена (например.pos,.scale,.parent)
Имеется три локальных переменных автоматически доступных для каждого экземпляра объекта, созданного с помощью любого плугина
· Version – возвращает номер версии плугина, с помощью которого был создан объект, и используется, главным образом, для преобразования объекта в более старшую версию.
· this – возвращает ссылку на экземпляр плугина. Данная переменная предоставляет гарантированный доступ к параметрам объекта в случае, если существуют локальные переменные с тем же именем, что и параметр.
· delegate – определена только для плугинов, которые расширяют свойства уже существующих. С помощью этой переменной можно получить доступ к объекту предка, который так и называется – объект делегат. Следует отметить, что этот объект не содержит свойств объекта сцены, за исключением матрицы трансформации, которая доступна через переменную nodeTM. Примеры использования этой переменной будут приведены далее.
Параметры
Вы можете определить один или несколько блоков, то есть групп параметров внутри плугина. Это определение выглядит следующим образом
parametrs Имя_переменной type:#class rollout: Имя_свитка
(Определение_параметров
Обработчики_событий
)
Блок параметров определяет набор переменных, которые сохраняются в файл сцены и восстанавливаются при загрузке.
Имя переменной, определенное в заголовке блока ассоциируется с блоком и испльзуется при загрузке из файла объекта, созданного с помощью данного плугина. Это особенно важно, если Вы, модифицировав плугин, загружаете файл, в котором имеются объекты, созданные плугином предыдущей версии, о чем подробно будет рассказано далее. Пока отметим только, что не стоит произвольным образом менять имена блоков параметров и самих параметров, если Вы хотите гарантировать корректную загрузку объектов, созданных предыдущей версией плугина.
Необязательный параметр type:#class указывает, что все параметры данного блока принадлежат не конкретному объекту, а сразу всем объектам, созданным с помощью данного плугина. Следовательно, установив значение параметра для одного объекты, Вы измените его и для других.
Так же необязательный параметр rollout служит для указания свитка, определенного в теле плугина, который будет использоваться для ввода параметров данного блока. Использование этого параметра ограниченно следующим правилом. Каждый свиток плугина может быть использован в определении только одного блока параметров. Иными словами два разных блока параметров не могут ссылаться на один и тот же свиток.
Дата добавления: 2015-10-31; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Скрипт плугины | | | Определение параметра |