我在as2中做了一个简单的测试示例。它包含两个带有以下处理程序的按钮。
_root:
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部分"由于以上"例外规则"我的代码工作我是闪光的新手(是的,你可以问为什么我从as2开始,不幸的是不是我的选择......)我想知道我的想法是否正确。此外,如果有任何解决方法(除了重写AS3中的所有内容),请告诉我(可能使用localconnection?)。
答案 0 :(得分:0)
试试这个:
on as2:
test.testmc.loadMovie("AS3.swf");
或者你想要as3播放器:
this.loadMovie("AS3.swf");
您的第二个代码是调用test.testmc.test.testmc
,因为它已经放在“testmc”中,因此您不需要使用完整路径引用它。建议你使用相对路径来做这样的事情。
因此,在mc testmc
内,你只需要this.loadmovie
而不是搜索test.testmc
INSIDE testmc。
希望这就是你要找的东西。