КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Запрос свойств
Свойства Экземпляры Объект, создаваемый средствами MAXScript, называется экземпляром данного класса MAXScript. Так, созданные вами ранее объекты b и c являются экземплярами классов Box и Capsule соответственно. Не путайте эту разновидность экземпляра c клоном объекта сцены, поскольку это совсем разные вещи. Свойства всегда используются с помощью экземпляра класса, а не самого класса. В MAXScript свойства используются в переменной, хранящей экземпляр, или в объекте, обозначаемом по имени. Для изучения экземпляров выполните следующее упражнение. 1. Введите в приемнике команд следующую строку кода: box.name В ответ на эту строку кода в приемнике команд появится сообщение об ошибке, поскольку в ней предпринята попытка воспользоваться свойством с помощью класса, а не экземпляра данного класса. 2. Введите следующую строку кода: b.name Эта команда возвращает имя параллелепипеда и не приводит к ошибке. Совет. Если Box01 фактически является именем объекта сцены, его можно также использовать следующим образом: $Box01.name Понятие экземпляров имеет очень большое значение в MAXScript. Класс можно рассматривать в качестве типа объекта, а экземпляр — в качестве конкретного образца объекта данного типа. Класс — это концептуальное образование группы объектов, тогда как экземпляр — это конкретный объект. В MAXScript функции выполняются над экземплярами, а не над классами. В справочном руководстве по MAXScript имя класса в угловых скобках <> обозначает экземпляр данного класса, указанного в этих скобках. Например, <Capsule> означает экземпляр класса Capsule, тогда как <node> — экземпляр любого объекта в классах, стоящих в иерархии ниже класса Node. Если объект — это какая-то вещь, то свойство — это сведения о вещи. Рассмотрим в качестве реального примера чашку, стоящую на столе. Если чашка — это объект, то цвет, размер, текстура и температура являются свойствами чашки. У каждого объекта в MAXScript имеются определенные свойства. С некоторыми свойствами объектов вам уже приходилось иметь дело в сценариях из предыдущих глав этой книги. В частности, у параллелепипедного объекта имеются свойства, перечисленные в разделе "Box: GeometryClass" справочного руководства по MAXScript. Эти же свойства появляются, когда к объекту применяется метод showProperties. Более подробно свойства рассматриваются в конце этого раздела. Глава 4 Метод showProperties был представлен в качестве функции в главе 1. Данный метод полезен для вывода свойств объекта в окне приемника команд. В этом подразделе представлены дополнительные способы доступа к свойствам объекта. Довольно часто приходится решать задачу определения свойств объекта, а главное — получать доступ к этим свойствам. Допустим, например, что требуется сохранить в массиве все значения, описывающие параллелепипед. Для решения такой задачи можно было бы, на первый взгляд, воспользоваться методом showProperties и вывести свойства данного объекта в окне приемника команд. Но в этом случае нельзя ни получить доступ к свойствам объекта, ни возвратить их в строке. Следовательно, для возврата массива значений требуется специальный метод. Именно это и делает метод getPropNames. Его синтаксис следующий: getPropNames <maxwrapper_object> [#dynamicOnly] Данный метод возвращает массив значений в виде имен свойств, доступных в указанном объекте. Примечание. В этом подразделе необязательный аргумент #dynamicOnly не рассматривается, поэтому за дополнительными сведениями обращайтесь к справочному руководству по MAXScript. Для получения имен свойств выполните следующее упражнение. 1. Установите 3dsMax в исходное состояние и откройте новое окно редактора сценариев. 2. Откройте окно приемника команд и введите следующий фрагмент кода: b = box() boxProps = getPropNames b В приемнике команд выводится массив, содержащий свойства параллелепипеда: #(#height, #length, #lengthsegs, #width, #widthsegs, \ #mapcoords, #heightsegs, #realWorldMapSize) Это те же самые свойства, которые отображаются для параллелепипеда на панели Modify. Примечание. В версии 3dsMax 8 метод getPropNames (наряду с методом showProperties) теперь применяется к свойствам интерфейса публикации функций.
Дата добавления: 2014-10-15; Просмотров: 519; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |