我开始使用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:无法访问空对象引用的属性或方法。
那我该如何解决呢?
答案 0 :(得分:0)
var t:MovieClip = new MovieClip()
答案 1 :(得分:0)
为mcMain影片剪辑指定实例名称。现在,如果此mcMain具有相应的actionscript类,则在其中声明四个变量(或数组)并将对mcStats剪辑(它们各自的实例名称)的引用存储在其中。如果它没有类,你可以在mcMain对象本身上创建属性(因为MovieClip是一个动态类)并在那里存储stats剪辑的实例名称。
这样,您就可以mcMain.mcStats1
或mcMain.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;
现在您可以访问班级中的对象了!