Создание пользовательского интерфейса
А теперь вы можете приступать к созданию и проверке пользовательского интерфейса. В дальнейшем вам предстоит ввести обработчики событий в этот интерфейс для того, чтобы он выполнял конкретные функции.
Для создания пользовательского интерфейса выполните следующее упражнение.
1. Откройте окно редактора MAXScript Editor.
2. Введите в верхней части этого окна следующую строку: -- SolarSystem.ms
Вы можете дополнить этот комментарий, например, своим именем и датой создания сценария.
Глава 2
3. Введите следующий фрагмент кода:
rollout ssRoll "Solar System"
(
spinner spn_sunRadius "Sun Radius"
button but_createSun "Create Sun"
spinner spn_numPlanets "Number of Planets"
button but_createPlanets "Create Planets"
pickbutton pbt_pickPlanet "Pick Planet"
spinner spn_planetRadius "Planet Radius"
spinner spn_orbitRadius "Orbit Radius"
)
createDialog ssRoll 200 200
Многие программисты пользуются специальными условными обозначениями элементов пользовательского интерфейса. В приведенной ниже таблице представлены префиксы, используемые для обозначения переменных
по типу элемента пользовательского интерфейса.
Префикс типа элемента | Что обозначает |
spn_ | Счетчик |
but_ | Кнопка |
pbt_ | Кнопка выбора |
После префикса типа элемента указывается имя переменной, содержащее
текстовую метку данного элемента пользовательского интерфейса, причем первое слово должно быть введено строчными буквами, а все последующие слова должны начинаться c прописной буквы. Так, переменная
для счетчика SunRadius (Радиус Солнца) должна называться следующим образом:spn_sunRadius.
Вы можете, конечно, выбрать другие условные обозначения в своих сценариях. Главное — быть последовательным в их соблюдении.
4. Вычислите код сценария.
Откроется диалоговое окно с элементами пользовательского интерфейса,
указанными в коде данного сценария.
Построение пользовательских интерфейсов
Внешний вид этого диалогового окна можно усовершенствовать, выделив в отдельную группу элементы пользовательского интерфейса, предназначенные для правки внешнего вида планет.
5. Введите перед кодом первой кнопки выбора следующий фрагмент кода:
group "Planets" (
6. Введите закрывающую круглую скобку после кода последнего счетчика.
Код трех последних элементов пользовательского интерфейса должен выглядеть следующим образом:
group "Planets"
(
pickbutton pbt_pickPlanet "Pick Planet"
spinner spn_jplanetRadius "Planet Radius"
spinner spn_orbitRadius "Orbit Radius"
)
Этот код выделяет три последних элемента пользовательского интерфейса в отдельную группу.
7. Вычислите код сценария.
Элементы пользовательского интерфейса, предназначенные для правки внешнего вида планет, теперь находятся в отдельной группе.
Для улучшения внешнего вида пользовательского интерфейса можно также ввести пробел после метки каждого элемента, т.е. перед завершающими кавычками.
8. Внесите изменения в строку кода каждого счетчика, содержащую метку, чтобы ввести пробел после метки счетчика:
rollout ssRoll "Solar System"
(
spinner spn_sunRadius "Sun Radius "
button but_createSun "Create Sun "
spinner spn_numPlanets "Number of Planets "
button but_createPlanets "Create Planets "
group "Planets"
(
pickbutton pbt_pickPlanet "Pick Planet "
spinner spn_planetRadius "Planet Radius "
spinner spn_orbitRadius "Orbit Radius "
)
)
Глава 2
9. Вычислите код сценария.
Между меткой каждого счетчика и самим счетчиком должен быть пробел.
10. Сохраните вновь созданный сценарий в файле mySolarSystem.ms.
Примечание. Сохранять сценарий без лишних напоминаний полезно после
очередного этапа работы над ним — это общепринятая практика программирования.
Однако, начиная с версии 3dsMax 8, при аварийном завершении работы 3dsMax,
вызванном сбоями в MAXScript, должно появиться диалоговое окно, в котором
предлагается сохранить все открытые сценарии.