
- •С чего начать
- •Переменные и присвоение им значений
- •Области видимости
- •Настойчивые переменные
- •Изменяемый тип переменных
- •Присвоение значения по ссылке
- •Выделение памяти и уборка мусора
- •Имена переменных
- •Литералы
- •Числовые литералы
- •Строковые литералы
- •Литералы времени
- •Литералы имен объектов
- •Литералы точек в двумерном и трехмерном пространстве
- •Литералы массивов
- •Выражения
- •Простые выражения
- •Математические выражения
- •Порядок выполнения операций в математических выражениях
- •Полиморфизм
- •Выражения сравнения
- •Логические операции
- •Сокращенное выполнение логических выражений
- •Позиционированные и именованные параметры
- •Приоритет вызова функций
- •Написание вызова функции в несколько строк
- •Другой способ вызова функций
- •Контекстные выражения
- •Комментарии
- •Обращение из одного скрипта к другим
- •Управление порядком выполнения операторов
- •Пропуск выполнения цикла
- •Собственная обработка ошибок
- •Оформление функций
- •Переменная, содержащая функцию
- •Параметры функций
- •Принудительное завершение функции
- •Определение структур
- •Создание функций, локальных внутри структуры
- •Базовые классы maxScript Класс Value
- •Операторы
- •Литералы
- •Операторы
- •Свойства
- •Операторы
- •Точка в трехмерном пространстве
- •Литералы
- •Конструкторы
- •Свойства
- •Операторы
- •Литерал
- •Конструкторы
- •Свойства
- •Произвольный поворот
- •Литералы
- •Конструкторы
- •Операторы
- •Свойства
- •Углы Эйлера
- •Операторы
- •Свойства
- •Прямоугольник
- •Литералы
- •Конструкторы
- •Свойства
- •Операторы
- •Функция
- •Массив_чисел
- •Вспомогательные методы Функция
- •Функция
- •Можно открыть зашифрованный файл, используя функцию
- •Свойства
- •Свойства
- •Особенности работы с ключами анимации
- •Массив параметров
- •Конструкторы
- •Свойства
- •Операторы
- •Множества
- •Шаблонные группы
- •Свойства
- •Операторы
- •Функции для работы с группами
- •Наборы объектов
- •Конструкторы
- •Свойства
- •Операторы
- •Функции, работающие с наборами
- •Дополнительные сведения
- •Конструкторы
- •Свойства
- •Операторы
- •Прочие функции
- •Операторы
- •Конструкторы
- •Свойства
- •Операторы
- •Конструкторы
- •Свойства
- •Операторы
- •Конструкторы
- •Свойства
- •Операторы
- •Литералы
- •Свойства
- •Операторы
- •Конструкторы
- •Свойства
- •Операторы
- •Конструкторы
- •Свойства
- •Операторы
- •Прочие функции
- •Скрипт-утилиты
- •Панель скрипт-утилиты
- •Составные части тела свитка
- •Создание перемещаемых окон
- •Видимость локальных переменных, структур, функций и компонент интерфейса из кода свитка
- •Доступ к локальным переменным и прочим элементам утилит и свитков из внешнего кода
- •Компоненты пользовательского интерфейса
- •Название_компонента Имя_переменной Символьная_строка
- •Общие свойства компонентов пользовательского интерфейса
- •Общие параметры компонентов пользовательского интерфейса
- •Типы компонентов пользовательского интерфейса Для примера рассмотрим утилиту, использующую все возможные компоненты пользовательского интерфейса
- •Битовая карта
- •Параметры
- •Свойства
- •События
- •Параметры
- •Параметры
- •Свойства
- •События
- •Параметры
- •Свойства
- •События
- •Выпадающий список
- •Параметры
- •Свойства
- •События
- •Свойства
- •События
- •Кнопка выбора текстурной карты
- •Параметры
- •Свойства
- •События
- •Кнопка выбора материала
- •Параметры
- •Свойства
- •События
- •Список с возможностью множественного выбора
- •Параметры
- •Свойства
- •События
- •Кнопка выбора объекта
- •Параметры
- •Свойства
- •События
- •Задатчик
- •Параметры
- •Свойства
- •События
- •Параметры
- •Свойства
- •События
- •Кнопки с картинками
- •Скрипт контекстного меню
- •Тело контекстного меню
- •Пункт меню
- •Разделитель
- •Подменю
- •Макро скрипты
- •Создание файлов с иконками
- •Средства работы с мышью
- •Остановить работу средства можно вызовом функции
- •Правила оформления средств работы с мышью
- •События
- •Скрипт плугины
- •Правила построения скрипт-плугина
- •Внесение изменений в плугин
- •Урок 1. Твердые тела
- •Создание набора твердых тел
- •Добавление тел к набору
Свойства
Свойство
Битовый_массив.count
возвращает количество битов в массиве. Это количество устанавливается при создании и равно номеру последнего бита со значением true. Однако если затем установить это значение в false, длина битового массива и, следовательно, содержимое свойства .count, не изменится.
Операторы
Для битового массива определена операция индексации
Битовый_массив [ Целое_число ]
с ее помощью можно прочитать или установить любой элемент массива. Например
b[12] = true
b[43] = false
Операция сложения
Битовый_массив + Битовый_массив
определена как логическое ИЛИ между элементами двух массивов.. Результат имеет ту же длину, что и самый длинный из массивов-слагаемых и элементы true там, где они true хотя бы у одного из массивов-слагаемых.
Операция вычитания
Битовый_массив - Битовый_массив
напоминает ИСКЛЮЧАЕЩЕЕ ИЛИ. Результат имеет ту же размерность, что и уменьшаемое, и содержит элементы true там, где уменьшаемое и вычитаемое имеют разные значения.
Унарный минус
- Битовый_массив
обращает все элементы битового массива.
Методы
Установить элемент массива в true можно с помощью метода
append Битовый_массив Число
Число указывает номер элемента массива. Если массив содержит меньше элементов, чем указанное число, то он автоматически расширяется.
Вместо операции сложения двух массивов можно применять функцию
join Битовый_массив_1 Битовый_массив_2
Разница лишь в том, что при обращении к этой функции, результат помещается в первый массив (разумеется, если он задан переменной, а не литералом или выражением).
Функция
findItem Битовый_массив Целое_число
возвращает ноль, если элемент, номер которого задан вторым параметром, имеет значение false. В противном случае, результатом будет значение второго параметра.
Установить значение элемента в false можно с помощью метода
deleteItem Битовый_массив Целое число
Элемент, номер которого задан вторым параметром, обнуляется.
Для битовых массивов определен метод копирования.
copy Битовый_массив
При этом создается независимая копия битового массива.
Наиболее часто битовые массивы используются при выделении вершин, граней или ребер сетчатых объектов. Как Вы видели выше, для них определены многие операции с редактируемыми сетками.
Массивы ключей анимации
Массивы ключей анимации (MAXKeyArray) являются картированными наборами значений, типа MAXKey
Конструкторы
Массив ключей можно получить как свойство анимируемого свойства объекта
Объект_сцены.Свойство.keys
Например
$box01.position.keys
Либо как свойство контроллера
Контроллер.keys
Например
$box01.rotation.controller.keys
Свойства
Из свойств для массива ключей определено только количество ключей в массиве
Массив_ключей.count
Операторы
Операция индексирования
Массив_ключей [ Целое_число ]
возвращает ключ, указанный индексом. Нумерация ключей начинается с единицы.
Методы
Функция
append Массив_ключей Ключ
добавляет указанный ключ к массиву. Чтобы удалить ключ анимации, используйте функцию
deleteItem Массив_ключей Целое_число
Номер удаляемого ключа задается вторым параметром.
Создать новый ключ, и сразу добавить его к массиву позволяет функция
addNewKey Массив_ключей Число #select
Ключ создается для момента времени, указанного вторым параметром. Если для данного момента времени ключ уже задан, то новый ключ не создается, а в качестве результата возвращается ранее существовавший ключ. Третий параметр не обязателен, но если он указан, то созданный ключ автоматически выделяется. Значение параметра для нового ключа интерполируется по времени.
Для удаления ключей может применяться функция
deleteKeys Массив_ключей #allKeys
или
deleteKeys Массив_ключей #selection
Первый способ вызова удалит все ключи, второй – выделенные.
Удалить один ключ по его номеру можно с помощью функции
deleteKey Массив_ключей Число
второй параметр задает индекс удаляемого ключа
Массивы модификаторов
Массивы модификаторов (ModiffierArray) предоставляют доступ к модификаторам конкретного объекта. Массивы типа ModiferArray картированы.