КАТЕГОРИИ: Архитектура-(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) |
Включение и отключение элементов пользовательского интерфейса
Итак, сценарий работает, хотя он и недостаточно защищен от ошибок. В частности. кнопка CreatePlanets оказывается доступной даже в тот момент, когда пользователь еще не создал Солнце. Всякая попытка создать планеты до Солнца может привести к ошибке. Во избежание пользовательских ошибок отдельные элементы интерфейса включаются и отключаются в зависимости от конкретных действий пользователя в интерфейсе. Например, при открытии диалогового окна SolarSystem можно отключить все кнопки и счетчики до тех пор, пока пользователь не создаст Солнце. 1. Введите во всех строках, определяющих счетчики и кнопки, кроме первых двух, следующую строку кода: enabled: false Измененный фрагмент кода сценария должен теперь выглядеть следующим образом: ( spinner spn_sunRadius "Sun Radius " button but_createSun "Create Sun" spinner spn_NumPlanets "Number of Planets " type: #integer \ range:[1,10,3] enabled: false button but_createPlanets "Create Planets" enabled: false group "Planets" ( pickbutton pbt_pickPlanet "Pick Planet" autoDisplay: true \ enabled: false spinner spn_planetRadius "Planet Radius " enabled: false spinner spn_orbitRadius "Orbit Radius " range:[0,100,0] \ enabled: false ) При вычислении кода сценария в диалоговом окне становятся доступными лишь два первых элемента пользовательского интерфейса. Остальные элементы будут активизированы в обработчиках событий. Глава 2 2. Введите следующий фрагмент кода внутри обработчика ссюытии but_createSun для отображения элементов пользовательского интерфейса, предназначенных для создания планет: spn_numPlanets.enabled = true but_createPlanets.enabled = true Оба элемента пользовательского интерфейса становятся доступными после того, как пользователь создаст Солнце того или иного типа. 3. Введите следующий фрагмент кода внутри обработчика событий but_createPlanets, но непременно вне цикла for, т.е. до или после него: pbt_pickPlanet.enabled = true spn_planetRadius.enabled = true spn_orbitRadius.enabled = true 4. Сохраните сценарий. 5. Установите 3dsMax в исходное состояние и очистите сцену. 6. Вычислите код сценария. Сначала доступными оказываются лишь два первых элемента. После создания Солнца появляется возможность создать планеты и далее изменить радиус как отдельных планет, так и их орбит. А теперь необходимо сделать еще одно, последнее изменение в сценарии, чтобы он стал еще более защищенным от ошибок. При выполнении данного сценария в первый раз значение параметра SunRadius устанавливается по умолчанию равным нулю. Если не изменить его, Солнце будет создано с нулевым радиусом. Нетрудно представить, как неопытный пользователь будет щелкать снова и снова на кнопке CreateSun, добиваясь того, чтобы Солнце появилось на сцене. В итоге сцена заполнится десятками невидимых Солнц, прежде чем пользователь поймет, в чем состоит ошибка. Во избежание этого радиус сферы следует установить по умолчанию равным 50 или другому числовому значению, превышающему нуль. 7. Дополните строку кода, определяющую счетчик SunRadius, следующим кодом: range: [1,100,50] Эта строка должна теперь иметь следующий вид: spinner spn_sunRadius "Sun Radius " range: [1,100,50] 8. Сохраните сценарий. Вариант этого сценария можно найти в файле \chapter2\S0lar_System.ms на прилагаемом к этой книге CD-ROM. Для усовершенствования данного сценария в него можно внести целый ряд дополнений. Например, пользователю можно разрешить следующее. • Указывать начальные радиусы орбит с приращением вместо исходного значения 10. Для этого придется расширить диапазон значений параметра OrbitRadius в сторону больших чисел. Построение пользовательских интерфейсов • Наклонить каждую орбиту или сделать ее эллиптической. Для этого потребуются навыки выполнения преобразований, которые более подробно рассматриваются в главе 5. Заключение В этой главе вы научились строить пользовательские интерфейсы, создав свиток и заполнив его элементами пользовательского интерфейса, а затем введя в него обработчики событий для вызова отдельных частей сценария с помощью элементов управления пользовательского интерфейса. Кроме того, вы научились отличать общий сценарий от макросценария и создавать каждый из них в отдельности. Интерфейс 3dsMax Глава 3
Интерфейс 3dsMax Задание После изучения этой главы вы должны уметь следующее. • Создавать копии, экземпляры и ссылки на геометрические объекты, находящиеся на сцене, и копировать массивы • Пользоваться командами Max, доступными в 3dsMax • Вызывать панели команд средствами MAXScript • Получать доступ к основной панели инструментов средствами MAXScript • Выбирать объекты на сцене из сценария • Выбирать точки сцены из сценария • Пользоваться инструментом отслеживания перемещений мыши • Пользоваться интерфейсом раскраски
Дата добавления: 2014-10-15; Просмотров: 718; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |