访问Actionscript 3.0中的父属性/方法

时间:2008-11-06 13:20:48

标签: flash actionscript-3 cs3

我正在尝试从作为主舞台的孩子的MovieClip控制我的Flash应用程序的主时间轴。显然,在ActionScript 2中,您可以使用_root执行此操作,但使用root(因为_root不再存在)现在会出错:

root.play();

“1061:调用可能未定义的方法通过静态类型flash.display的引用播放:DisplayObjectContainer。”

使用Stage类也不起作用:

stage.play();

“1061:调用可能未定义的方法通过静态类型flash.display:Stage进行播放。”

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:7)

您需要将其投射到MovieClip

(root as MovieClip).play()

答案 1 :(得分:3)

根据http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=y

尝试类似的事情 影片剪辑(根).gotoAndPlay( “菜单”);

祝你好运,
兰迪斯蒂鲍尔

答案 2 :(得分:0)

另一种方法是在为主fla设置文档类时将movieclip代码分离为单独的类。

假设主fla的文档类是Main.as,而movieclip的类文件是Movie.as,可以在Movie类构造函数中添加Main类指针作为参数

在Main.as

public class Main() { var m = new Movie(this); }

在Movie.as中

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }