Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Определение параметра

Читайте также:
  1. I. Определение терминов.
  2. I. Определение экономической эффективности
  3. I.1.1. Определение границ системы.
  4. NURBS: Определение
  5. Q: Какое определение спиральной модели жизненного цикла ИС является верным
  6. А) Определение сульфидом натрия.
  7. А. Определение железа в виде роданидного комплекса

Каждый параметр в блоке определяется с помощью следующей синтаксической формы.

Имя_параметра type: Имя_типа tabSize: Целое_число

tabSizeVariable: Логическое_выражение

animatable: Логическое_выражение default: Выражение

subAnim: Логическое_выражение ui: Компонент_интерфейса

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

Тип параметра определяется единственным обязательным элементом определения параметра. Он может быть одним из следующих

 

Имя типа параметра Возможность анимации
#float Да
#integer Да
#color Да
#point3 Да
#boolean Да
#angle Да
#percent Да
#worldUnits Да
#string Нет
#filename Нет
#colorChannel Да
#time Да
#radiobtnIndex Нет
#material Нет
#texturemap Нет
#bitmap Нет
#node Нет
#maxObject Нет

 

Или одним из следующих для определения массивов указанных выше типов

#floatTab

#intTab

#colorTab

#point3Tab

#boolTab

#angleTab

#percentTab

#worldUnitsTab

#stringTab

#filenameTab

#colorChannelTab

#timeTab

#radiobtnIndexTab

#materialTab

#texturemapTab

#bitmapTab

#nodeTab

#maxObjectTab

Типы #worldUnits или #worldUnitsTab определяют число или массив чисел вещественного типа, содержащих значения во внутренних единицах. Однако следует отметить, что при назначении такому параметру компонента интерфейса, например задатчика, значение не будет автоматически преобразовываться в определенные единицы (метры, футы или дюймы). Для этого нужно указать тип #worldUnits в определении задатчика.

Типы #Node и #NodeTabs используются для сохранения ссылок на объекты сцены 3ds max. Следует отметить, что не всегда имеет смысл запоминать в параметрах такого типа объекты. Например, Ваш плугин создает новый модификатор. В качестве параметра типа #NodeTab Вы сохраняете список объектов, к которым данный модификатор применен. Если пользователь удалит один из этих объектов, то ссылка на него все равно окажется в списке.

Типы, имена которых заканчиваются на Tab позволяют сохранять в качестве параметров массивы значений соответствующих типов. Начальная размерность массива может быть задана с помощью указания значения TabSize. Если при этом указана конструкция tabSizeVariable:true, то размерность массива может изменяться автоматически присвоением значения элементу массива с индексом, превосходящим заданную вначале размерность. Например, такое определение блока параметров

Parameters Block

(FArray type:#floatTab tabSize:5 tabSizeVariable:true

)

определяет массив из пяти вещественных чисел. Увеличить размерность такого массива до 12 можно с помощью простого присвоения

FArray [ 12 ] = 3.1415926

Корме этого, размерность массива можно увеличивать или уменьшать, изменяя его свойство count.

Каждый элемент массива, как равно и любой одиночный параметр может быть анимирован, если для этого параметра не указана конструкция animatable:false. При этом, используя свойство controller параметра, можно назначить параметру нужный контроллер анимации. Например

FArray [ 7 ].controller = c

Необязательная конструкция default: Выражение указывает значение по умолчанию, которое будет присвоено параметру при создании объекта. Выражение будет автоматически приводиться к типу параметра с помощью стандартных правил MAXScript.

Возможностью анимации параметра, как уже было отмечено, управляет конструкция animatable. При указании значения true, параметр анимируется, в противном случае – нет. Разумеется, анимировать можно только параметры тех типов, которые помечены как анимируемые в приведенном выше списке. По умолчанию все такие параметры считаются анимируемыми. Для параметров типа #node, #material, #textureMap, #maxObject может быть указана конструкция subAnim: Логическое_выражение. Если указано значение true, то указанный объект, материал или текстура будут доступны в окне TrackView, как подобъекты. По умолчанию значение false.

Наконец последнее свойство параметра ui. С его помощью можно поставить в зависимость параметру компонент интерфейса, который находится в свитке, определенном для данного блока параметров (то есть указанном в параметре rollout описания блока параметров). Указание этой конструкции устанавливает однозначную связь между параметром и заданным компонентом интерфейса. Изменение, например, числа в задатчике приведет к немедленному изменению связанного с ним параметра. И наоборот, присвоение значения параметру автоматически изменит вид компонента интерфейса.

Разумеется, не каждый элемент интерфейса может быть ассоциирован с любым типом параметра. Список возможных сочетаний приведен ниже.

 

Тип параметра Возможные типы компонентов интерфейса
#integer spinner, slider, radioButtons, checkbox, checkbutton
#float spinner, slider
#time spinner, slider
#color colorpicker
#angle spinner, slider
#percent spinner, slider
#colorChannel spinner, slider
#boolean checkbox, checkbutton
#node pickButton
#textureMap mapButton
#material materialButton
#worldUnits spinner, slider

 


Дата добавления: 2015-10-31; просмотров: 71 | Нарушение авторских прав


Читайте в этой же книге: Типы компонентов пользовательского интерфейса | Фиксируемая кнопка | Список с редактором (combobox) | Однострочный редактор | Список с возможностью множественного выбора | Индикатор процесса | Тело контекстного меню | Макро скрипты | Правила оформления средств работы с мышью | Скрипт плугины |
<== предыдущая страница | следующая страница ==>
Правила построения скрипт-плугина| Функции, применяемые при разработке скрипт плугинов

mybiblioteka.su - 2015-2024 год. (0.007 сек.)