将操作放到外部加载的swf文件中

时间:2013-06-09 09:23:48

标签: flash action external

我有一个关于将交互性放到exernally加载的swf文件的问题。我没有加载swf文件的问题但是当它对它进行操作(鼠标单击)时,我的swf文件似乎不起作用。另一方面,当我删除“SWF_object.addEventListener(MouseEvent.Click,moveSwf);” swf文件正常显示。

import flash.net.URLRequest;
import flash.display.Loader;

SWF_object.addEventListener(MouseEvent.Click,moveSwf);
var SWF_object : Loader = new Loader();
var SWF_object2 : Loader = new Loader();
var url:URLRequest = new URLRequest("sample.swf");
//SWFobject.loadMovie("sample.swf");
SWF_object.load(url);
SWF_object2.load(url);
addChild(SWF_object);
addChild(SWF_object2);

SWF_object2.x=300;
SWF_object.x=-100;
SWF_object.y=0;

//////////////////////

function moveSwf(event:MouseEvent){

SWF_object.x=1000;

}

1 个答案:

答案 0 :(得分:1)

我注意到的第一件事是你正在向一个尚未实例化的对象添加一个监听器。

您的代码应该更像这样:

import flash.net.URLRequest;
import flash.display.Loader;

var SWF_object : Loader = new Loader();
var SWF_object2 : Loader = new Loader();
var url:URLRequest = new URLRequest("sample.swf");
//SWFobject.loadMovie("sample.swf");
SWF_object.load(url);
SWF_object2.load(url);
addChild(SWF_object);
addChild(SWF_object2);
SWF_object.addEventListener(MouseEvent.Click,moveSwf);

SWF_object2.x=300;
SWF_object.x=-100;
SWF_object.y=0;

如您所见,您将在实例化该对象后添加侦听器,在这种情况下,将该对象添加到显示列表后。