0

我有一个关于将交互性放在外部加载的 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;

}
4

1 回答 1

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;

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

于 2013-08-06T11:44:48.687 回答