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

Панель скрипт-утилиты

Читайте также:
  1. Выкинув окурок в окно, Бушидо потянулся к мобильному телефону. Сдвинув верхнюю панель слайдера он выбрал в книжке имя «Принцесса» и нажал кнопку вызова.
  2. Запуск програми, Головне меню та Панель функцій
  3. Лабораторная работа №8. ГРАФИЧЕСКИЕ ОБЪЕКТЫ. ПАНЕЛЬ РИСОВАНИЯ. ГРУППИРОВКА
  4. Меню и главная панель инструментов навигатора проекта
  5. Меню и панель инструментов ИС
  6. Панель в форме буквы Т
  7. Панель детальной информации.

Панель скрипт-утилиты создается с помощью определяющего утилиту выражения. Это выражение выглядит так

utility Имя_переменной Символьная_строка

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

Далее идет текст скрипта, заключенный в круглые скобки, и представляющий собой тело утилиты.

Имя переменной – это имя автоматически создаваемой переменной, с помощью которой можно манипулировать созданной утилитой.

Второй параметр выражения – символьная строка, которая появится в списке утилит после ее определения.

Необязательный параметр rolledUp управляет состоянием свитка утилиты в момент его появления на панели. Если этот параметр равен true, то свиток свернут, если false – раскрыт. Значение по умолчанию равно false.

Параметр silentErrors так же необязателен и управляет порядком выдачи сообщений об ошибках. При значении false сообщения об ошибках появляются в окне интерпретатора и, возможно, в диалоговом окне, после чего выполнение утилиты прекратится. При значении true сообщение об ошибке не появится, а работа утилиты продолжится. Значение по умолчанию – false.

В теле утилиты содержатся определения компонентов пользовательского интерфейса, локальные переменные, функции и обработчики событий. Подробно организация тела утилиты описывается далее. В качестве примера рассмотрим утилиту, которая разносит выбранные объекты от их общего центра. После открытия свиток утилиты Spread Objects содержит три чек-бокса и один задатчик. Чек-боксы предназначены для того, чтобы назначать или отменять сдвиг объектов по соответствующей оси, а величина сдвига определяется задатчиком.

utility spread "Spread objects" -- определение имени утилиты и

-- строки описания

(local last_amt = 0 -- определение и инициализация

-- локальной переменной

checkbox x "Spread in x" -- создание трех чек-боксов

checkbox y "Spread in y"

checkbox z "Spread in z"

spinner spread "Spread amount:" range:[-1000,1000,0] -- создание

-- задатчика

on spread changed amt do -- при изменении значения задатчика...

(delta = amt - last_amt -- вычисление разницы между текущим

-- и предыдущим значением

for obj in selection do -- значения для каждого выбранного значения

(

-- вычисление новой позиции объекта на основании текущей позиции

-- и выбранног центра

p = obj.pos + normalize (obj.pos - selection.center) * delta

if x.checked then obj.pos.x = p.x -- если x-чек-бокс отмечен,

-- изменим позицию X

if y.checked then obj.pos.y = p.y -- если y-чек-бокс отмечен,

-- изменим позицию Y

if z.checked then obj.pos.z = p.z -- если z-чек-бокс отмечен,

-- изменим позицию Z

)

last_amt = amt -- Запомним новое значение задатчика

) -- конец обработчика изменения задатчика spread

) -- конец утилиты

Вот как выглядит панель Utilites после выбора утилиты Spread Objects из списка. Кнопка Close автоматически создается MAXScript-ом и закрывает свиток утилиты.

При определении утилиты происходит следующее. Создается новый объект. Во избежание путаницы с ключевым словом rollout, класс этого объекта называется RolloutClass. Переменная spread принадлежит именно к этому классу, в чем нетрудно убедиться с помощью функции classOf. Далее идет описание утилиты, в нашем случае строка “ Spread Objects ” которое и помещается в список утилит свитка MAXScript. После этого пользователь может выбрать ее из списка и работать с ней. Если снова выполнить скрипт с определением утилиты для этой же переменной, то новая утилита заместит старую, что позволяет Вам тестировать утилиту в процессе ее отладки.

 


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


Читайте в этой же книге: Методы для работы с g-буфером | Rotate T 180 z_axis -- и повернем чайник. | Строковый поток | Массив параметров | Функции, работающие с наборами | Прочие функции | Выделенные вершины | Выделенные грани | Выделенные ребра | Битовые массивы |
<== предыдущая страница | следующая страница ==>
Массивы модификаторов| Составные части тела утилиты

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