嵌套在AS3 .swf容器中时AS2 .swf loadmovie()和unloadmovie()失败

时间:2009-06-25 15:50:30

标签: flex flash actionscript-3 actionscript-2

我有一个AS2 .swf被加载为父AS3 .swf的孩子。 AS2.swf调用loadmovie()和unloadmovie()来显示3个jpeg文件。第一次加载图像,但在此之后,调用loadmovie()来替换图像,或调用unloadmovie()失败。我发现以下Adobe Bug报告(https://bugs.adobe.com/jira/browse/ASC-3338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel)表示已经解决了这个问题,并且还说可以毫无问题地替换儿童动画片段。这是我正在调用的代码。

_root.help_mc.scenes_image1_mc.loadMovie("first.jpg");
_root.help_mc.scenes_image2_mc.loadMovie("second.jpg");
_root.help_mc.scenes_image3_mc.loadMovie("third.jpg");

_root.help_mc.scenes_image1_mc.unloadMovie();
_root.help_mc.scenes_image2_mc.unloadMovie();
_root.help_mc.scenes_image3_mc.unloadMovie();

我不太熟悉ActionScript,所以我担心我可能不会以正确的方式引用movieclip。错误报告说子swf不能代替它们,但是如果AS2 swf充当了psuedo root,我可以通过AS2 swf引用movieclip吗?

2 个答案:

答案 0 :(得分:1)

AS2不能与AS3一起工作。 Flash Player 9及更高版本有两个不同的虚拟机 - 一个用于AS1,另一个用于AS3,并且只有一个虚拟机一次加载,这意味着您可以执行AS3或AS2,但不能同时执行两者。

http://en.wikipedia.org/wiki/ActionScript#Timeline_by_ActionScript_version

答案 1 :(得分:0)

在ActionScript 3中,您可以加载这样的电影:

var myLoader:Loader = new Loader();
var url:URLRequest = new URLRequest("first.jpg");
myLoader.load(url);
addChild(myLoader);