Дальнейшее развитие этой темы выходит за рамки книги, однако пользователи, основательно знакомые с веб-дизайном, быстро оценят возможности встроенного браузера для создания собственных интерфейсов.

Все, что вы хотели узнать про MEL

О MEL можно и нужно написать отдельный труд. Однако эта глава не резиновая, и пугать дальше пользователей программистами шутками просто нет возможности, да и места на страницах. Я постарался изложить логику применения языка MEL и приемы для его освоения.

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

Во-первых, переменные для хранения промежуточных данных.

Во-вторых, условные переходы типа if() {} elsef}, для сравнения данных и выполнения наборов команд при выполнении определенных условий.

В-третьих, циклы для повторения набора команд нужное количество раз и для перебора объектов в списке.

В-четвертых, процедуры, позволяющие объявить целый набор команд в виде одной MEL-команды.

Освоив эти приемы, вы можете писать довольно непростые скрипты, постоянно расширяя свои возможности с помощью чтения документации и чужих программ.

Некоторые практические советы

Для тех, кто уже начал осваиваться в MEL и даже получать удовольствие от этого, приведу некоторое количество полезных советов.

1. Используйте MEL Studio Pro. Пожалейте свои глаза и нервы.

2. Не жалейте времени на комментарии. Особенно в начале файла. Вам самим, а также другим читателям и писателям будет легче разобраться в том, что делает ваш загадочный скрипт.

3. Если вы используете циклы, перед запуском скрипта сохраните где-нибудь его текст. Никакой защиты от бесконечного выполнения циклов не предусмотрено. Поэтому если условие выхода из цикла по каким-то причинам не будет достигнуто, MAYA просто «уйдет в кому», из которой вам ее не удастся вернуть.

4. Для хоть какой-то защиты от бесконечных циклов есть несколько вариантов. Первый

- официальный: использовать команду progressBar с флагом -islnterruptable для работы с main progress bar (см. описание команды progressBar). Второй - неофициальный: нужно скачать плагин keylnterrupt с сайта www.highend3d.com и использовать в цикле функцию опроса нажатых клавищ.

5. Если вы собираетесь запустить приложение с помощью команды system, но хотите, чтобы MAYA не зависала, ожидая окончания работы этого приложения, используйте команду start для операционной системы Windows. Например: system( “start notepad” ); Альтернативный способ, не зависящий от операционной системы, состоит в использовании команды ехес.

6. Если вы пишете скрипт, производящий манипуляции над объектами, старайтесь работать с выделенными объектами. Помните про шаблон

string $list[] = 'Is -si'; string $item; for($item in $list) t }

7. Если вы обращаетесь к конкретному объекту по имени, проверяйте наличие этого объекта в сцене. Если этого объекта не существует, ваш скрипт даст ошибку.


⇐ вернуться назад | | далее ⇒