all groups > flash actionscript > september 2004 >
You're in the

flash actionscript

group:

dynamic object (movieclip) name resolution?


dynamic object (movieclip) name resolution? vintagetone
9/8/2004 9:06:18 PM
flash actionscript:
Hi,
I have a number of clips to dynamically build like so:

film_panels.attachMovie("film_panel", "film_panel1", 1);
film_panels.film_panel1.film_art_clip.attachMovie(strPicClipName,
strPicClipName + "1", 1);
film_panels.film_panel1._x += 200;
film_panels.film_panel1._y += 0;
//-------
strPicClipName = "farmhouse_c";
film_panels.attachMovie("film_panel", "film_panel2", 2);
film_panels.film_panel2.film_art_clip.attachMovie("farmhouse_c",
"farmhouse_c1", 1);
film_panels.film_panel2._x += 200;
film_panels.film_panel2._y += film_panels.film_panel1._y+115;
...
my question is, is there a way to dynamically create the names so I would then
only need one code block for this?
I am looking for something like this:

for (var i:Number = 1; i<=100; i++) {
strPicClipName = pic_array[i-1];
film_panels.attachMovie("film_panel", ("film_panel" + i), i);
film_panels.(film_panel" + i).film_art_clip.attachMovie(strPicClipName,
strPicClipName + i, 1);
film_panels.film_panel(film_panel" + i)._x += 200;
film_panels.film_panel(film_panel" + i)._y += 200;
}

Is there a way to do this?
Re: dynamic object (movieclip) name resolution? _jrh_
9/8/2004 9:09:40 PM
Yes, you have to use bracket notation:

for (var i:Number = 1; i<=100; i++) {
strPicClipName = pic_array[i-1];
film_panels.attachMovie("film_panel", "film_panel"+i, i);
film_panels["film_panel"+i].film_art_clip.attachMovie(strPicClipName,"
strPicClipName" + i, 1);
film_panels.film_panel["film_panel"+i]._x += 200;
film_panels.film_panel["film_panel"+i]._y += 200;
}
Re: dynamic object (movieclip) name resolution? vintagetone
9/9/2004 4:15:02 PM
Thanks,
I also found I could use the ref object, but I like yours better.

for (var i = 1; i<=picLength-1; i++) {
strPicClipName = pic_array[i-1];
var ref = film_panels1.attachMovie("film_panel", ("film_panel"+i), i,
{name:strPicClipName});
ref.film_art_clip.attachMovie(strPicClipName, (strPicClipName+(i+1)), 1);
ref._x += 200;
ref._y += yOfLast+iPanelHeight;
yOfLast = ref._y;
}
AddThis Social Bookmark Button