PDA

Просмотр полной версии : создание объекта в цикле


Alex T
12.05.2006, 16:52
Допустим у нас есть массив:

var temp_arr:Array=["sound_first_snd","sound_second_snd","sound_third_snd","sound_fourth_snd"];

Как можно создать объекты Sound с именами temp_arr[0],temp_arr[1] и т.д. в цикле?

т.е. например я пробовал так (но не получилось):

for(var i=0;i<=temp_arr.length-1;i++) {
Object(temp_arr[i])=new Sound();
}

Всем заранее спасибо.

Nirth
12.05.2006, 17:08
Ты не создаешь объекты Sound с какими либо именами
в коде

var my_snd:Sound = new Sound();

ты в левой части создал ссылку, в правой создал объект, основательно ты можешь делать так

_global.my_snd = _root.my_sound = _root.some_mc.my_snd = new Sound();

ты к трем ссылкам присобачил один и тот же объект саунд.

это так ликбез
насчет твоего примера

var length:Number = 10;
for(var i=0;i<length;i++) {
myArray.push(new Sound());
}

Я вывел длину специально, лучше при заполнении массива использовать специальные методы для этого, нежели индексировку с которой есть риск случайно че нить переписать.

PS пользователю Alex T устное предупреждение, за то что не обрамляет код тэгами [ code ], в слейдующий раз будет настоящее.

Alex T
12.05.2006, 17:24
т.е. если я сделаю:
for(var i=0;i<=myArray.length-1;i++)
_root[myArray[i]]=new Sound();
то при обращении к _root[myArray[1]], например, он будет ссылаться на объект Sound.
Да?

Nirth
12.05.2006, 17:27
да (еще символы чтобы пройти ограничение)

Alex T
12.05.2006, 17:28
Nirth, спасибо за помощь...