Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.