3ds max 5. Библия пользователя

         

Функции



Функции

Функции (functions) — это части MAXScript, которые работают подобно программам. Например, для вычисления среднего значения массива значений можно использовать следующий фрагмент:

В приведенном фрагменте вычисляется среднее значение коллекции значений numbers. У этого кода есть один недостаток: его необходимо вводить (или копировать и вставлять) в то место сценария, где требуется вычислить среднее значение. При таком подходе сценарий "разбухает" и становится сложным для понимания.

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

Теперь в любой части сценария, где необходимо вычислить среднее значение, можно использовать следующий код:

В приведенной строке используется коллекция num, а ее усредненное значение сохраняется в переменной Ave. Теперь сценарий стал более коротким и удобочитаемым, а если вы ошиблись в определении функции, ошибку нужно исправить только в одном месте сценария, а не "рыскать" по всему сценарию в поисках неверного выражения.

В первой строке приведенного выше фрагмента кода создается новая функция с именем

Для нормальной работы функции необходимо передать ей данные, определенные переменной numbers. В теле самой функции для ссылки на полученные данные используется все та же переменная numbers, а во время вызова функции (например, average num) имя реальной переменной значения не имеет.



Очень просто создать функцию, которая использует несколько элементов данных. Например, в строке Функции

В следующих двух строках

создаются две переменные и их значения устанавливаются в 0. Ключевое слово local указывает, что переменные принадлежат этой функции, т.е. эти переменные недоступны в остальной части сценария. Вы можете использовать в функции и в сценарии переменные с одинаковыми именами, и при этом конфликт не возникнет. В последней строке

используются значения переменных Total и Count для вычисления среднего значения, т.е. результата вычисления функции.



Содержание раздела