Конструирование на ходу

Конструкторы

Методы

Метод представляет собой функцию, которая выполняет определенные действия над объектом MAXScript. Аналогично свойствам, методы наследуются от одного класса к другому вниз по иерархии. Иными словами, методы, доступные для конкретного класса, доступны и для его подклассов.

Ниже перечислены некоторые методы класса Node.

• hide <node>

• select <node>

• distance <node> <node>

Поскольку эти методы доступны для класса Node, они доступны также для всех объектов в классе GeometryClass, включая параллелепипеды, цилиндры и капсулы.

Методы hide и select выполняют ту же функцию, что и свойства .isHidden и .isSelected. Во многих случаях действие в MAXScript может быть выполнено как посредством метода, так и с помощью свойства.

Дополнительные сведения по данному вопросу приведены в следующем разделе справочного руководства по MAXScript: MAXScript Language Reference ⇨ 3dsMax Objects ⇨ Node: MAXWrapper ⇨ Node Common Operators, Properties, and Methods.

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

В следующей строке кода конструктор box используется для создания парал­лелепипеда, который затем присваивается переменной b:

b = box()

Вслед за конструктором должны быть указаны круглые скобки или же уста­навливаемые свойства класса. В следующей строке кода приведен еще один вполне допустимый пример применения конструктора box:

box length: 40 width: 20


Объекты и классы

Конструкторы применяются также для создания других типов объектов, включая модификаторы и контроллеры .myMod = bend()

В этой строке кода создается экземпляр класса модификатора Bend в переменной myMod.

У каждого класса объектов имеется собственный конструктор. Для сравнения такие методы, как hide <node>, являются общими для всех классов, стоящих в иерархии ниже класса Node.

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

Выше вам пришлось получить экземпляр модификатора, прежде чем применить его к объекту. Этого можно избежать, если воспользоваться конструктором в выражении и тем самым избавить себя от необходимости создавать модификатор (или другой объект) перед тем, как использовать его в сценарии.

Например, с помощью следующей команды можно применить модификатор Bend к объекту c:

addmodifier c (bend())

В данном примере конструктор bend () используется по ходу применения модификатора Bend к объекту. В этом случае конструктор должен быть указан в круг­лых скобках. Недостаток такого подхода заключается в отсутствии отдельной пере­менной (например, myMod), для которой можно получать и устанавливать свойства.