是否可以调用外部动画片段的功能或传递数据

时间:2009-04-30 07:24:05

标签: flash actionscript-3

假设我有2个瑞士法郎。

第一个我在第一帧上有一个方法

function methodA():void {}

第二个将使用loader类加载第一个并使用它来调用methodA。

我想知道是否可以这样做......传递数据怎么样......

我在AS 3.0中的性能太差,我可以从外部swf传递变量和调用函数但是如何将值或方法从外部子传递给父...我想要点击外部swf并添加到父swf

2 个答案:

答案 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),所以,不知道他们在这个版本中做了什么。