Просмотр полной версии : Как создать массив мовиклипов
_alex_niv_
02.05.2006, 12:24
Добрый день!
Еще один вопрос - у меня в сцене используется 10 текстовых полей, которое я беру из библиотеки (оформленное как мовиклип).
Можно ли создать массив, состоящий из этих полей, что бы обращаться к ним как к элементам массива?
да легко:
var arr:Array = new Array();
arr.push(mc1.txtField);
arr.push(mc2.txtField);
......
arr.push(mcN.txtField);
.....
//индексация начинается с 0
arr[3].text = "Привет"; //выведит в 4-ом текстфиелде текст
Только с циклом код несколько меньше.
to undeddy
это само собой, но если человек с массивами толком не знаком, то забивать ему голову циклами не нужно.. это потом с опытом прийдет.
Homo Sapiens
02.05.2006, 15:16
это само собой, но если человек с массивами толком не знаком, то забивать ему голову циклами не нужно.. это потом с опытом прийдет.
Нужно, а то не поймёт, в чём преимущество массивов.
var arr:Array = new Array(10);
for(var i = 0; i < arr.length; i++)
{
arr[i] = this["mc" + i].txtField;
}
//индексация начинается с 0
arr[3].text = "Привет"; //выведит в 4-ом текстфиелде текст
arr[i] = this["mc" + i].txtField;
я бы не назвал такую методику правильной, исполльзовать ее нужно, только при условии, что невозможно использовать push или unshift
я бы не назвал такую методику правильной, исполльзовать ее нужно, только при условии, что невозможно использовать push или unshift
Это кому как больше нравится.
тогда можно юзать не Array а Object =)
var holder:Object = {length:10};
for (var i:Number=0;i<holder.length;i++) {
holder[i] = _root["mc"+i.toString()];
trace(holder[i]);
}
Homo Sapiens
02.05.2006, 17:54
я бы не назвал такую методику правильной, исполльзовать ее нужно, только при условии, что невозможно использовать push или unshift
Всему своё место. Кстати, у меня бага есть, первый элемент не добавится, как и последний.
arr[i] = this["mc" + (i + 1)].txtField;
А так написал для своеобразной симметрии, чтобы показать соотношение между номерами элементов массива (0 - 9) и именами клипов (mc1 - mc10)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.