2010-07-30 147 views
0

我开始用AS3编程ICM使用Flash Builder 4访问影片剪辑在影片剪辑

我创建了一个“主”类,这是起步阶段。

在这个舞台上有一个叫做mcMain的动画片段。

在这种mcMain是其他4部影片剪辑:mcStats1 mcStats2 mcStats3 mcStats4

我怎样才能访问这些mcStats1-4从代码,使他们去另一个框架?

我想:

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

但这只是不断给我空引用错误: 类型错误:错误#1009:无法访问空对象引用的属性或方法。

那么我该如何解决这个问题呢?

+0

可以发布你的主类代码吗?如果可以的话,我认为给你一个明确的答案会容易得多。 – 2010-07-30 14:59:49

回答

0

我想通了我自己,这并不容易,但apperantly类型转换为AS3答案。

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

变种T:MovieClip的= 的MovieClip()

+0

然后呢? 不能做 var t:MovieClip = new MovieClip(getChildByName(“mcMain”)); – YesMan85 2010-07-30 13:09:55

0

分配一个实例名到mcMain影片剪辑。现在,如果这个mcMain有一个对应的动作类,在其中声明四个变量(或一个数组),并在其中存储对mcStats剪辑(它们各自的实例名称)的引用。如果它没有类,则可以在mcMain对象本身上创建属性(因为MovieClip是一个动态类),并在其中存储统计片段的实例名称。

这样,您就可以访问它们作为mcMain.mcStats1mcMain.statArray[0]

+0

我没有关注你。 我确实有一个mcStats1类,但是如何访问它们? mcMain在AS3代码中未定义,但我确实给出了该实例名称。 – YesMan85 2010-07-30 13:33:09

0

又一个音符,它关闭在AS3中,如果你希望能够做到这一点“自动申报情况”是很重要的:

创建一个影片剪辑名为“测试”并拖动它的阶段。 在阶段的类的头添加:公共var test:Movieclip;

现在你可以访问类中的对象!