在动画片段中访问动画片段

时间:2010-07-30 12:45:45

标签: flash actionscript-3

我开始使用Flash Builder 4进行AS3编程icm。

我创建了一个“Main”类,这是初始阶段。

在这个舞台上有一个名为mcMain的动画片段。

在这个mcMain中有4个其他的动画片段:mcStats1 mcStats2 mcStats3 mcStats4

如何从代码中访问这些mcStats1-4以使它们转到另一帧?

我试过了:

var t:MovieClip = MovieClip(getChildByName("mcMain"));
t.getChildByName("mcStats1").gotoAndPlay(3);

但是这只是一直给我空引用错误: TypeError:错误#1009:无法访问空对象引用的属性或方法。

那我该如何解决呢?

4 个答案:

答案 0 :(得分:0)

var t:MovieClip = new MovieClip()

答案 1 :(得分:0)

为mcMain影片剪辑指定实例名称。现在,如果此mcMain具有相应的actionscript类,则在其中声明四个变量(或数组)并将对mcStats剪辑(它们各自的实例名称)的引用存储在其中。如果它没有类,你可以在mcMain对象本身上创建属性(因为MovieClip是一个动态类)并在那里存储stats剪辑的实例名称。

这样,您就可以mcMain.mcStats1mcMain.statArray[0]等方式访问它们。

答案 2 :(得分:0)

我自己想出来,这并不容易,但AS3中的答案显然是强调类型。

var p1:mcUserStats; //class name
p1 = ((this.mcMain as MovieClip).mcStats1 as mcUserStats);

答案 3 :(得分:0)

另外请注意,如果您希望能够执行此操作,请关闭AS3中的“自动声明实例”:

创建一个MovieClip名称“test”并将其拖动到舞台上。 在标题中,阶段的类添加:public var test:Movieclip;

现在您可以访问班级中的对象了!