Создание рабочего сценария

Группы в свитке

Обработчики событий

Общая форма обработчика событий имеет следующий вид:

 

on <имя элемента интерфейса> <имя события> <аргументы> do

(

[выполняемые команды]

)

Ниже приведен перечень типичных событий, используемых в сценариях.

• pressed — вызывается после щелчка на кнопке.

• changed — вызывается при изменении состояния управляющего элемента, например при установке флажка или правке значения в счетчике.

picked — вызывается для кнопки выбора, когда пользователь выбирает элемент в сцене.


Глава 2

• entered — вызывается при вводе числа в поле редактирования счетчика

и последующем нажатии клавиши <Enter>.

• selected — вызывается при выборе элемента из списка в списковом или

комбинированном окне.

В версии 3dsMax 8 событие RightClick введено для следующих видов кнопок.

• Button

• CheckButton

• MapButton

• MaterialButton

• PickButton

• ImgTag

Многие элементы пользовательского интерфейса были усовершенствованы

в версии 3dsMax 7. Более подробно с перечнем подобных нововведений можно ознакомиться, перейдя к подразделу “User Interface Controls” (Элементы управления пользовательского интерфейса) в разделе “What was New in MAXScript in

3dsMax 8” (Нововведения в MAXScript версии 3dsMax 7) справочного руководства по MAXScript.

 

По мере укрупнения и усложнения утилит возникает потребность сгруппировать элементы в свитке на панели Utilities. Элементы можно сгруппировать в логической последовательности, используя выражение группы. Независимо от того,

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

вом верхнем углу. А синтаксис группы следующий:

group "описание группы"

(

<элементы пользовательского интерфейса>

)

 

А теперь вам предстоит написать сценарий для формирования Солнечной

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

• Для того чтобы начать процесс формирования Солнечной системы, пользователь должен создать Солнце. В качестве Солнца может служить сфера,

расположенная в точке с координатами [0,0,0]. Пользователь должен задать

радиус сферы.


Построение пользовательских интерфейсов

• В версии 3dsMax 8 введено новое свойство — возможность обрабатывать для разных типов кнопок пользовательские события, связанные со щелчком правой кнопкой мыши (см. перечень событий, приведенных в предыдущем разделе). Для того чтобы воспользоваться этим свойством в сценарии, придется организовать процесс создания сферы в зависимости того, какой кнопкой мыши (левой или правой) пользователь щелкнет на кнопке создания Солнца. Так, если пользователь щелкнет левой кнопкой, будет создана обычная сфера. А если он щелкнет правой кнопкой, будет создана геосфера.

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

• Как только пользователь щелкнет на кнопке CreatePlanets (Создать планеты), в сценарии должны быть созданы планеты произвольного радиуса. Для каждой планеты вокруг Солнца будет очерчен круг, обозначающий ее орбиту, причем движение планеты будет ограничено этим кругом с помощью ограничения по линии пути.

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