КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функции для массивов
Массивы Массив представляет собой последовательный ряд элементов. Доступ к каждому элементу массива, или значению, осуществляется с помощью числового индекса. Элементы массива могут иметь любой тип данных, включая числа, логические значения true/false, трехмерные объекты, строки и т.д. Объекты массивов создаются с помощью специального конструктора массива. В простейшем случае массив создается с помощью следующей команды: myArray = #() Основы MAXScript Знак # и последующие круглые скобки обозначают массив. С помощью приведенного выше оператора была создана переменная myArray, в которой сохранен пустой массив. Пустой массив пока еще не содержит никаких элементов. Такие элементы можно ввести в массив, например, путем присваивания ему конкретных значений во время его создания: myArray = #(1,2,4,8,16) Данный массив содержит пять целочисленных элементов. У каждого из них имеется соответствующий индекс. В частности, у первого элемента массива (перечисленного выше целого значения 1) имеется индекс 1, у второго элемента массива — индекс 2 и т.д. Доступ к отдельным элементам массива осуществляется по его индексу, указываемому в квадратных скобках. В следующей строке кода возвращается значение третьего элемента массива (целое число 4): myArray [3] А в приведенной ниже строке кода значение третьего элемента массива заменяется целым числом 28. Подобным способом можно заполнить массив нужными значениями: myArray [3] = 28 Отдельные элементы присоединяются к массиву с помощью команды append: append myArray 56 В приведенной выше строке кода к массиву присоединяется шестой его элемент (целое значение 56). В массиве можно хранить любой ряд элементов, включая трехмерные объекты. Для того чтобы сохранить объект в массиве, выполните следующее упражнение. 1. Установите 3dsMax в исходное состояние или же удалите со сцены все объекты. 2. Введите в окне приемника команд следующий фрагмент кода и вычислите результат: c = cylinder pos: [50,0,0] b = box() s = spherepos: [-50,0,0] В разных местах сцены будут созданы три объекта. 3. Введите в окне приемника команд следующее выражение и вычислите результат: objectArray = #(c,b,s) В итоге будет создан массив, содержащий три объекта. 4. Введите следующий фрагмент кода и вычислите результат: d = donut() append objectArray d Таким образом, к массиву будет присоединен тороидальный объект. Глава 1 Массивы весьма полезны для выполнения однотипных операций над несколькими объектами или значениями. Для последовательного обращения к элементам массива совсем не обязательно знать число его элементов. Вот как это делается: a = #("one", "word", "at", "a", "time") for i = 1 to a.count do ( messagebox a[i] ) Свойство.count массива объектов всегда содержит общее число элементов массива. Для работы с массивами имеется целый ряд дополнительных функций. К их числу относятся deleteltem, join, sort и findItem. Ниже приведены примеры синтаксиса этих функций. • Функция deleteItem удаляет элемент, обозначаемый вторым аргументом данной функции. В приведенном ниже примере элемент arr[2] удаляется из массива, а значение счетчика массива (arr.count) автоматически уменьшается на 1. arr = #(1.0,.55,.3, 2.6) deleteltem arr 2 for i = 1 to arr.count do messagebox (arr[i] as string) • Функция join объединяет два массива, а также совокупность и массив: for i = 1 to 3 do ( sphere() box() ) arr = $sphere* as array join arr $box* for i = 1 to arr.count do messagebox arr[i].name • Функция findItem может оказаться полезной в самых разных ситуациях. С ее помощью можно, в частности, найти конкретное значение. Она возвращает индекс искомого значения. Если искомое значение отсутствует в массиве, функция findItem возвращает 0: arr = #(2.4, 4, 3.2, 1.1) index = findltem arr 3.2 -- Найденный индекс будет равен 3 messagebox (index as string) -- Значение 3.3 отсутствует в массиве, поэтому возвращаемый -- индексравен 0 index = findltem arr 3.3 messagebox (index as string) • Функция sort организует массив в порядке убывания. Если массив состоит из строк, он организуется в алфавитном порядке. Синтаксис данной функции следующий: sort arr Основы MAXScript Функция sort дает ошибку, если элементы массива не относятся к одному и тому же типу данных. В большинстве языков программирования массив может содержать данные только одного типа, а в MAXScript элементы одного массива могут быть разнотипными, например: -- Сначала создать пустой массив arr = #() -- А затем ввести ряд его элементов arr[1] = 4 arr[2] = "stringstuff" Такой массив вполне допустим, но в этом случае вам придется самостоятельно определять типы данных у отдельных элементов массива по соответствующему индексу.
Дата добавления: 2014-10-15; Просмотров: 1215; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |