我正在尝试从作为主舞台的孩子的MovieClip控制我的Flash应用程序的主时间轴。显然,在ActionScript 2中,您可以使用_root执行此操作,但使用root(因为_root不再存在)现在会出错:
root.play();
“1061:调用可能未定义的方法通过静态类型flash.display的引用播放:DisplayObjectContainer。”
使用Stage类也不起作用:
stage.play();
“1061:调用可能未定义的方法通过静态类型flash.display:Stage进行播放。”
有没有办法做到这一点?
答案 0 :(得分:7)
您需要将其投射到MovieClip
(root as MovieClip).play()
答案 1 :(得分:3)
答案 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"); }