如何访问for循环内创建的动态剪辑内的文本字段/影片剪辑?

时间:2009-03-21 07:38:50

标签: flash actionscript-2

我正在创建一个从特定来源读取XML文件的Flash应用程序。 XML文件包含最多5个节点,每个节点包含名称,描述和图像URL。

为了表示每个节点中的数据,我创建了一个影片剪辑,其中包含另一个影片剪辑(用于从网址加载图像),一个简短的动态文本框(用于名称)和一个长动态文本框(用于描述)。

在代码中我只能通过 -

访问它们

new_mc.myname.text =“some text”; new_mc.image_mc.loadMovie( “映像路径”);

只要我使用duplicateMovie()并使用实例名称“new_mc”

,这很好

我的问题从循环开始......

由于我可以在for循环中读取XML节点,我想我只是动态创建影片剪辑并访问其中的所有对象。

因此,在for循环中我创建了一个像 -

这样的实例
 myform.duplicateMovie("new_mc"+i,i)

但我无法访问使用实例名称=“new_mc”+ i

创建的电影

如何访问新创建的影片剪辑实例,如new_mc0,new_mc1,new_mc3,......

这样我可以访问其中的对象吗?

可能解决方案很简单,因为你有足够的经验,但我是新手,请求帮助:)

对所有人来说,这是美好的一天!

1 个答案:

答案 0 :(得分:0)

我几乎从未在AS2中使用duplicateMovie()方法,但如果这是您的选择,您可以像这样访问它们:

this["new_mc"+i];

否则一个好的做法是始终引用您的实例以更好地控制它:

var forms:Array = new Array();

for(...)
   forms[i] =  myform.duplicateMovie("new_mc"+i,i);

...

forms[2].myname.text = "hello";
  • 我会建议你使用AS3,但可能有一个原因你仍然使用AS2 ...
  • 第二件事,在AS2中创建实例,在某种程度上可以更方便地在库中定义MovieClip,并使用attachMovie();创建实例的方法。