从另一个SWF文件中打开一个SWF文件(默认值不同)

mgb*_*net 5 flash actionscript-2

希望这不会被当作两次问相同的问题...

因此,我正在一个Flash网站(在AS2中)工作,该网站具有外部索引swf,可使用来加载子swf文件loadMovie("subfoo1.swf", placeToShowSwf)。这些反过来加载一个xml文件,告诉它要加载什么内容。一切正常,但是我们想在索引swf中添加一个按钮,以打开一个子swf文件,其中一个或两个变量具有一个或两个不同的值。

不幸的是,只添加了一个说

loadMovie("foo1.swf", placeToShowSwf);
placeToShowSwf.openProject(x);
Run Code Online (Sandbox Code Playgroud)

不起作用,我认为是因为openProject(x)在未完全加载的文件上调用。我知道代码没有问题,因为我在其他地方创建了一个仅调用按钮,placeToShowSwf.openProject(x)没有任何问题。

我看到两个解决方案,我不确定该怎么做。

  1. 制作swf文件时,请更改所需的值,例如类的构造函数。但是,SWF文件有某种构造函数吗?只是说一句loadMovie(new foo1.swf(x), placeToShowSwf)或等效的话真是太好了。
  2. 等到载入swf(可能还有xml)之后,再调用placeToShowSwf.openProject(x)

有人对这些解决方案有任何指导,或者有人以类似豌豆的大脑无法理解的其他方式获得了指导?

dav*_*avr 0

第 2 点是你应该做的。不幸的是,您仍然停留在 ActionScript 1 的领域,而 ActionScript 3 已经问世几年了。所以我不知道确切的语法(我自己是在 ActionScript 2 上使用 flash 开始的),但是#2(等待 SWF 完成加载,然后告诉它要做什么)是我会做的。

如果您不介意学习一点 AS2(通常可以混合使用 AS1 和 AS2,不会有太多问题),那么您应该看看 MovieClipLoader。它提供回调来告诉您子 SWF 何时完成加载。