Студопедия

КАТЕГОРИИ:


Архитектура-(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 весьма обширен и сложен. Без MAXScript работа в данном приложении превращается в утомительное и довольно скучное занятие. Более того, художники, технические постановщики, аниматоры и целые студии, не имеющие в своем арсенале специальных сценариев, работают менее эффективно и медленно, а следовательно, гш труднее соперничать с теми, то создает и регулярно использует такие сценарии.

Интерфейс 3dsMax

Задание

После изучения этой главы вы должны уметь следующее.

• Создавать копии, экземпляры и ссылки на геометрические объекты, нахо­дящиеся на сцене, и копировать массивы

• Пользоваться командами Max, доступными в 3dsMax

• Вызывать панели команд средствами MAXScript

• Получать доступ к основной панели инструментов средствами MAXScript

• Выбирать объекты на сцене из сценария

• Выбирать точки сцены из сценария

• Пользоваться инструментом отслеживания перемещений мыши

• Пользоваться интерфейсом раскраски




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 718; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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