我在as2中做了一个简单的测试示例。这包含两个带有以下处理程序的按钮。
_根:
on (release)
{
this.loadMovie("AS3.swf");
}
_root.test.testmc:
on (release)
{
test.testmc.loadMovie("AS3.swf");
}
AS3.swf 是一个视频播放器(使用 youtube as3 api)。如果我将它加载到 _root 它可以工作,但如果我想将它加载到任何其他地方它不会。我从adobe中搜索并找到了这个:
“以 ActionScript 1.0 或 2.0 编写的 SWF 文件无法加载以 ActionScript 3.0 编写的 SWF 文件。这意味着在 Flash 8 或 Flex Builder 1.5 或更早版本中创作的 SWF 文件无法加载 ActionScript 3.0 SWF 文件。
此规则的唯一例外是,ActionScript 2.0 SWF 文件可以将其自身替换为 ActionScript 3.0 SWF 文件,只要 ActionScript 2.0 SWF 文件之前没有将任何内容加载到其任何级别。ActionScript 2.0 SWF 文件可以通过调用 loadMovieNum() 来执行此操作,将值 0 传递给 level 参数。”
由于上述“异常规则”,我的代码的“_root 部分”是否正常工作?我是 Flash 新手(是的,你可能会问我为什么从 as2 开始,不幸的是不是我的选择......)我想知道我的想法是否正确。此外,如果有任何解决方法(除了重写 AS3 中的所有内容),请告诉我(也许使用本地连接?)。