Конструирование на ходу
Конструкторы
Методы
Метод представляет собой функцию, которая выполняет определенные действия над объектом 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), для которой можно получать и устанавливать свойства.