0

我在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 中的所有内容),请告诉我(也许使用本地连接?)。

4

1 回答 1

0

尝试这个:

在 as2 的根目录上:

test.testmc.loadMovie("AS3.swf");

或者在 mc 中你想要 as3 播放器:

this.loadMovie("AS3.swf");

您的第二个代码正在调用test.testmc.test.testmc,因为它已经放置在“testmc”中,因此您不需要使用完整路径引用它。建议您对此类事情使用相对路径。

所以,testmc你只需要在 mc 里面做this.loadmovie而不是搜索test.testmcINSIDE testmc。

希望这就是你要找的。

于 2012-03-26T12:39:10.790 回答