2

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

root.play();

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

使用 Stage 类也不起作用:

stage.play();

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

有没有办法做到这一点?

4

3 回答 3

7

您需要将其投射到 MovieClip

(root as MovieClip).play()
于 2008-11-06T14:29:50.403 回答
3

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

尝试类似
    MovieClip(root).gotoAndPlay("menu");

祝你好运,
兰迪·施泰格鲍尔

于 2008-11-06T14:00:07.780 回答
0

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

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

在 Main.as

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

在电影.as

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }
于 2009-12-22T05:04:15.547 回答