2014-02-27 44 views
0

我想知道如何使用变量字符串引用AS2中层次结构中的影片剪辑。使用变量字符串引用影片剪辑

例如,并且请原谅我的新手编码:

如果我的变量定义为:

_root.MovieName = "Bob"; 

然后我想能写:

_root.MovieName.ChildClip.gotoAndPlay("Label"); 

其中MovieName是字符串“Bob”而不是名为“MovieName”的实际实例。所以Flash查找“Bob”的一个实例并从那里进入子剪辑。

有没有办法做到这一点?

+0

ChildClip不是MovieName的属性。它将是根的属性。由于您设置了_root.MovieName =“Bob”,这意味着您正在使用单个实例,并且不必搜索名为“Bob”的电影。如果有多个电影或者您需要查询,请执行搜索并填充您的对象。对象填充后,然后使用_root.ChildClip.gotoAndPlay()。 – RacerNerd

+0

我很抱歉,我没有解释得很好。基本上,ChildClip是名为Bob的实例中的一个实例。我只是用它来说明。我想要Flash做的是能够从变量中识别影片剪辑的名称。也就是说,如果有多个实例,请找到名为MovieName已设置的名称,并对其执行操作。 – Rainheart

回答

0

我找到答案!

为了使用变量引用影片剪辑实例,首先将该变量声明为一个字符串,然后使用this []处理程序。这里是我工作的代码和保存它的页面:

//创建STRING var newString:String =“movieClipInstanceName”;

//假设已经以 “movieClipInstanceName” 实例名的movieclip ON STAGE, //的movieclip的改变的α0 此[newString]阿尔法= 0;

和页面:

http://www.kirupa.com/forum/showthread.php?327501-Converting-String-to-Movie-Clip-Instance-Name

非常感谢大家谁上阵帮我!

0

_root实际上是对电影,这也继承了一堆属性的“根”的引用,它像一个对象,所以是的,你可以不喜欢的东西如下:

trace(_root["Bob"]); //Should return the instance. 
var movieName = "Bob"; 
trace(_root[movieName]); //Should be the same. 
+0

谢谢你的回答@Vulturous。我知道如何声明变量。我想知道的是如何使用这些变量动态访问影片剪辑。我已经尝试了此页面上列出的所有方法:http://www.quip.net/blog/2006/flash/actionscript-20/reference-objects-dynamically。 。 。 。但他们都没有工作。如果我能弄清楚如何上传.fla来显示正在发生的事情,那会很好。 – Rainheart