我正在使用as3isolib进行isogame,在win7下使用FlashDevelop。游戏需要加载一些用AS2编码的外部SWF。 当我调试应用程序时,它设法在玩家到达给定位置时加载SWF。程序实例化一个按钮(来自该SWF),该按钮关闭(removeChild)按钮和加载的SWF。但是当我将bin文件夹复制/粘贴到其他位置(为了显示其他队友)时,SWF没有加载(但是加载了SWF中包含的按钮!)。 文件夹结构如下:
有一个名为Assets.as的文件,其中包含所有资源的路径。例如,“OVA.swf”。该文件被复制到/ assets和/ bin中。但同样,当我想更改文件夹位置时,SWF未加载。
加载SWF的功能是:
private function onUpdate( e:Event ):void
{
if (_avatar.x == 4 * _level.CELLSIZE && _avatar.y == 4 * _level.CELLSIZE)
{
//_swfFile = new URLRequest(Assets.OVA1_PATH);
_swfLoader.load(new URLRequest(Assets.OVA1_PATH));
_swfLoader.x = (Constants.PLAYER_WIDTH - 550) / 2;
_swfLoader.y = (Constants.PLAYER_HEIGHT - 400) / 2;
close_btn = new Assets.CLOSE_BTN_CLASS();
close_btn.addEventListener( MouseEvent.MOUSE_UP, onCloseOVA );
close_btn.x = 550 + _swfLoader.x;
close_btn.y = _swfLoader.y;
//adding the objects
addChild(_swfLoader);
addChild(close_btn);
}
}
谢谢!
答案 0 :(得分:0)
解决!
刚刚改变了SWF的安全性。
转到文件 - >发布设置 - >本地播放安全性:仅限访问网络
这样,SWF文件加载很好(在其上写了AS2.0代码)。
顺便说一句,如果这些文件在服务器上进行公共访问,我不知道这是否相反。当我做测试时,我会在这里写下来。