Другие способы вызова функций
Определенный порядок следования параметров функции с указанием дополнительных параметров с помощью ключевых слов
Произвольный порядок следования параметров функции
Функция создания параллелепипеда имеет ряд дополнительных параметров, которые могут следовать в произвольном порядке, но требуют указания ключевых слов. Покажем на конкретном примере, каким образом указываются такие параметры функции.
1. Установите 3dsMax в исходное состояние.
2. Введите в окне приемника команд следующее выражение и нажмите комбинацию клавиш <Shift+Enter>:
b = box length: 20.5 width: 15.0 height: 5.6
3. Сместите параллелепипед в сторону.
Основы MAXScript
4. Введите в окне приемника команд следующее выражение и нажмите комбинацию клавиш <Shift+Enter>:
b2 = boxheight: 5.6 length: 20.5 width: 15.0
В итоге будет создан второй параллелепипед с такими же значениями свойств, как и у первого параллелепипеда. Результат выполнения данной функции не меняется, хотя порядок следования аргументов иной. Ключевые слова указывают функции, какие именно значения соответствуют длине, ширине и высоте параллелепипеда.
В MAXScript имеется функция LoadMaxFile для загрузки файла сцены 3dsMax. Обозначение данной функции состоит из следующих элементов.
• Обязательное строковое значение с именем файла, которое должно следовать непосредственно после имени функции
• Два или более необязательных аргументов, сопровождаемых ключевыми словами
Если функция выполняется успешно, она возвращает логическое значение true, а если ее выполнение окажется неудачным (например, при отсутствии указанного файла), онавозвратит логическое значение false.
Ниже приведены четыре разных, но вполне допустимых способа вызова данной функции:
result = LoadMaxFile "c:/scenes/trucks.max"
result = LoadMaxFile "c:/scenes/trucks.max" useFileUnits: true
result = LoadMaxFile "c:/scenes/trucks.max" quiet: true useFileUnits: false
result = LoadMaxFile "c:/scenes/trucks.max" useFileUnits: false quiet: true
Обратите внимание на два последних примера. В обоих случаях функции передаются одинаковые аргументы, изменен лишь порядок следования двух необязательных аргументов.
Ниже представлены другие способы вызова функций в зависимости от того, как они определены.
• FunctionName() — у функции отсутствуют аргументы. Функция не требует аргументов или использует устанавливаемые по умолчанию значения. Например, функция sphere() создает сферу со стандартными значениями параметров.
• FunctionName значение1значение2—уфункцииимеются аргументы,поэтомукруглыескобкинеиспользуются.Такаяфункциявоспринимает
Глава 1
один или несколько параметров. Из определения функции можно установить порядок следования ее параметров, чтобы указать передаваемые значения в правильном порядке. Например, функция subtract var1 var2 вычитает переменную var1 из переменной var2.
• FunctionName ключевое_слово1:значение1 ключевое_слово2: значение2 - у функции имеются аргументы, указываемые в произвольном порядке. Для указания конкретных передаваемых функции значений служат ключевые слова и знак двоеточия (:). Например, функция boxheight: 10 length: 20 создает параллелепипед высотой 10 и длиной 20 единиц.
• FunctionName значение1 ключевое_слово2: значение2 — это вариант, комбинированный из предыдущих способов вызова функций. Такой способ вызова функции используется нечасто. Первый аргумент функции — обязательный, второй аргумент — необязательный, и если он не указывается, то в функции используется устанавливаемое по умолчанию значение.