假设我有2个瑞士法郎。
第一个我在第一帧上有一个方法
function methodA():void {}
第二个将使用loader类加载第一个并使用它来调用methodA。
我想知道是否可以这样做......传递数据怎么样......
我在AS 3.0中的性能太差,我可以从外部swf传递变量和调用函数但是如何将值或方法从外部子传递给父...我想要点击外部swf并添加到父swf
答案 0 :(得分:1)
正如Dr.Dredel所说,一旦你加载一个外部swf,你就可以获得对你加载的swf和调用方法的引用,添加监听器,传递数据,就像你在代码中使用任何其他对象一样。
例如:
var myLoader:Loader = new Loader();
var url:URLRequest = new URLRequest("myExternalMovie.swf");
myLoader.load(url);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(event : Event)
{
var contenet : MovieClip = event.target.content;
content.addEventListener(yourEvent.SOMETHING_COMPLETE, yourEventHandler);
content.property = "someString";
content.someMethod();
});
答案 1 :(得分:0)
是的,一旦影片剪辑加载了另一个影片剪辑,就可以像任何父/子影片剪辑一样互相交谈。您还需要小心如何在子影片剪辑中使用_root,因为_root现在将指向父级。有一种方法可以将它锁定,以便_root指向单个swf的根,即使它被加载到更广泛的上下文中,但我不记得究竟是怎么做的......有些像lockroot = true或者某些这样,但你需要查阅它。
编辑:对不起,没有看到问题的AS3具体方面。从来没有看过AS3(几年没碰过Flash),所以,不知道他们在这个版本中做了什么。