Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAXScript Part 9.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
136.19 Кб
Скачать

Создание файлов с иконками

Создавая собственные файлы с иконками, придерживайтесь следующих правил

  • Файл должен иметь расширение (и, естественно, формат) .bmp.

  • Каждая иконка должна быть как минимум в двух файлах. Первый должен содержать иконки размером 16 пикселей в ширину и 15 (а не 16) в высоту. Размер иконок во втором файле – 24 на 24 пикселя. Имена этих файлов должны заканчиваться на _16i и _24i соответственно. Например, myicons_16i.bmp и myicons_24i.bmp.

  • Все иконки должны быть одинакового размера и именно того, который указан в названии файла.

  • Количество иконок в обоих файлах должно быть одинаково, и располагаться они должны в одном и том же порядке.

  • Если для иконок имеются маски, то они должны содержаться в аналогично сформированных файлах, имена которых должны оканчиваться на _16m.bmp и _24.bmp. Например, myicons_16m.bmp и myicons_24m.bmp.

  • Если для иконок имеется альфа-канал, то он должен содержаться в аналогично сформированных файлах, которые должны оканчиваться на _16a.bmp и _24a.bmp для альфа-информации без предварительного умножения и _16p.bmp и _24p.bmp с таковым. Например, myicons_16a.bmp и myicons_24a.bmp.

  • Если имеется информация о маске, то для маскирования иконок используется она. Если ее нет, то используется альфа-информация, а если и ее нет, то в качестве прозрачного цвета используется цвет левой верхней точки иконки.

Если Вы создаете файл иконок в процессе работы 3ds max, то убедитесь, что заносите его в правильный директорий. Директорий для текущего пользовательского интерфейса можно получить с помощью функции

cui.GetDir ( )

Средства работы с мышью

Средства работы с мышью используются для того, чтобы предоставить пользователю возможность совершать действия, связанные с нажатиями кнопки мыши в видовом окне. Чаще всего они используются при написании скрипт плугинов, о чем будет рассказано далее. Рассмотрим пример

tool BoxCreate

( local b

on mousePoint clickno do

if clickno == 1 then b = box pos:worldPoint else #stop

on mouseMove clickno do b.pos = worldPoint

)

Данное средство позволяет пользователю нажатием левой кнопки мыши создать параллелепипед стандартных размеров и переместить его в нужную точку окна, двигая мышью. После того, как кнопка будет отпущена, действие прекратится. Чтобы начать работу, необходимо, для приведенного примера ввести в окно интерпретатора строку

startTool BoxCreate

Общий синтаксис определения средства для работы с мышью следующий

tool Имя_переменной prompt:Число numPoints: Число

Далее должен следовать текст на MAXScript, который представляет собой алгоритм работы средства. Подробно его структура и правила оформления будут рассмотрены далее. Первый параметр - имя переменной, в которую, после определения, будет занесена ссылка на данное средство. Класс этой переменной - MouseTool. Необязательный параметр prompt может содержать строку, которая появится в статус-строке 3ds max после начала работы со средством. В параметре numPoints, так же необязательном, указывается максимально возможное число нажатий на кнопку мыши. После того, как это число будет превышено, средство автоматически прекратит работу.

Для запуска и остановки средств работы с мышью применяются следующие функции. Запускает работу средства

startTool Средство prompt: Символьная_строка snap: Имя

numPoints: Число

Первый параметр - переменная, содержащая ссылку на средство. Прочие параметры необязательны. Параметры numPoints и prompt дублируют одноименные параметры определения средства. Если их значения отличаются от указанных в определении, то используются те, что указаны при обращении к функции. Параметр snap указывает способ привязки к сетке и может иметь значение либо #3D либо #2D. Однако его указание не включает привязку, пользователь должен сделать это средствами стандартного интерфейса 3ds max.

Функция StartTool возвращает значение #stop, если пользователь исчерпал количество нажатий или #abort, если была нажата правая кнопка мыши или клавиша Esc.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]