外部SWF到外部SWF时间线通信,Flash,AS2

时间:2009-10-01 23:49:37

标签: flash actionscript-2 external timeline

Flash CS4,AS2

我做了一个互动之旅。可以在这里看到:

http://www.92YTribeca.org/Tour点击底部图片

4个部分中的每一个都是外部swf并加载到1级。我想在一个swf(平面图)上放一个按钮来加载另一个swf(设施租赁)并在swf的时间轴上精确定位一个特定的框架。

我尝试了很多不同的方法,最终都在第一帧加载了swf,并忽略了其余的代码来讨论时间轴。我知道我可以把这个swf分成更多外部swf并得到我想要的结果,但如果可以,我宁愿使用代码。

我想做的是什么?如果是这样,我该如何编写代码?

谢谢!

4 个答案:

答案 0 :(得分:0)

你想做什么绝对是可能的。您需要等到SWF加载后才能告诉它转到特定的帧。最简单的方法是使用MovieClipLoader类。

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);

function onLoadComplete(loadedClip) {
    loadedClip.gotoAndStop(5);
}

loader.loadClip("floorplan.swf", targetClip);

这会将floorplan.swf加载到名为“targetClip”的占位符中,并且一旦加载,就必须跳转到第5帧。

有关详细信息,请参阅MovieClipLoader文档: http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00001993.html

答案 1 :(得分:0)

由于您设法完美加载它们我猜这不是问题。一个常见的问题是,当剪辑完全加载时需要调用“gotoAndStop”函数,当调用onLoadInit侦听器的 MovieClipLoader 处理程序时,您将执行此操作

答案 2 :(得分:0)

试试这个:

var MC1:MovieClipLoader = new MovieClipLoader();
MClistener = new Object();
MClistener.onLoadComplete = function() {
     trace("LOADED COMPLETED");
};    
MC1.addListener(MClistener); 
MC1.loadClip("Whatever.swf", "adLoader");

答案 3 :(得分:0)

我一直在寻找root swf和加载的swf之间的沟通一段时间,这非常有用。

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);
function onLoadComplete(loadedClip) {
  loadedClip.gotoAndStop(2);
}
loader.loadClip("chapter1.swf", targetClip);

我唯一不知道的是如何通过开启(按下)动作来构建两个加载的swf而不是onLoadComplete动作。