Читайте также:
|
|
Для нормальной работы MAXScript, ему выделяется некоторый участок памяти. Величина этого участка может быть определена в диалоге Preference Settings, который вызывается из меню Customize пунктом Preferences. На этом диалоге есть закладка MAXScript, в которой вы можете изменить значение Initial heap allocation (MBytes), то есть изначально выделенная память (в Мегабайтах). Можно увеличить (но не уменьшить) память и по ходу выполнения программы. Для этого увеличивается значение переменной heapSize, например, так:
heapSize=heapSize+2000
что увеличит доступную память аж на две тысячи байт. Хотя MAXScript поддерживает операцию увеличения, поэтому более грамотно написать то же самое можно так:
heapSize += 2000
В процессе работы объекты то создаются, то уничтожаются, то вновь создаются. В отличие от некоторых других языков программирования, в MAXScript Вам не придется следить за тем, чтобы память, использованная уничтоженным объектом, вновь возвращалась в строй. Если же у Вас есть подозрение, что MAXScript не справляется с обязанностями по уборке мусора, вызовите функцию gc(). Кстати, она возвращает количество свободных байт памяти, имеющихся в распоряжении MAXScript. Однако для информационных целей лучше использовать переменную heapFree, так как если на момент вызова в памяти имеется много мелких переменных, то gc() может работать до нескольких секунд. Кстати, попробовав несколько раз вывести значение heapFree, вы можете получить все время разные значения. Отчего это происходит, лучше спросить у фирмы discreet. Видимо в 3ds max постоянно кипят какие-то невидимые простым глазом процессы.
Имена переменных
Имена переменных в MAXScript подчиняются обычным для языков программирования правилам. Имя должно начинаться с буквы, но может содержать цифры. Символ подчеркивания “_” считается буквой, прочие символы не допускаются. Длина имени не ограничена.
MAXScript нечувствителен к регистру символа. Иными словами имена
RotationX
rotationx
ROTATIONX
принадлежат одной и той же переменной
Кроме того, в MAXScript имеется специальный тип данных – имя. Он представляет собой имя переменной, которой предшествует знак #. Используется этот тип данных главным образом для того, чтобы передать имя переменной какой-нибудь стандартной функции. Например, уже знакомая нам функция persistents.remove требует, чтобы ей передавали как раз имена переменных
persistent global a
persistents.remove #a
Убрав знак # из приведенного скрипта, Вы получите ошибку.
Если Вам все же очень хочется использовать в имени переменной пробелы и знаки пунктуации, то это можно сделать, окружив имя одинарными кавычками. Например:
‘Rotation X’=12
‘Translation (Z)’=48.5
При этом знак подчеркивания в обычном имени эквивалентен символу пробела в имени, окруженном кавычками, то есть имена
Scale_X
‘Scale X’
принадлежат одной и той же переменной.
Литералы
Литералы, или иными словами константы, записанные в тексте программы, могут использоваться, например, для присвоения начальных значений переменным. Поскольку переменные могут содержать данные разных типов, то разных типов могут быть и литералы.
Дата добавления: 2015-10-31; просмотров: 123 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Области видимости | | | Литералы имен объектов |