2012-11-28 144 views
2

我真的希望有人能帮助我!我已经在Flash AS3中构建了一个项目,并且已经完成了我需要的所有工作,但是当尝试构建游戏时,我无法在AS3中编写全局变量,所以我在AS2中编写了它们,认为我可以做一个简单的代码将SWF(游戏)文件调用到AS3(主项目)中,然后在选择菜单按钮时反转游戏文件中的代码以返回到主项目。我已经使用此代码:将AS3调用/加载到AS2并将AS2调用/加载到AS3中

stop() 
var ld:Loader = new Loader() 
ld.load(new URLRequest("game.swf")) 
addChild(ld) 

调用AS3项目内的SWF游戏文件。但是,当试图在AS2文件中反转时,它不会再次打开AS3项目?

请有人可以帮助我:(XXXX

+0

是它给你任何具体的错误? – tacaswell

回答

0

这是AVM1的VS AVM2(的Adobe虚拟机)AVM1是AS2的事,AVM2是AS3。不幸的是,你不能在AS2运行AS3,只有AS2在AS3中,他们没有沟通(我试过),你可以做的唯一事情是让父母AS3和加载的AS2之间建立一个本地连接,你不会得到对根或全局变量的任何可见性,正是你通过localConnection传递的信息。

你最好用所有的AS3去做一个公共的静态模型类,你想在整个应用程序中公开静态模型类

祝你好运。

+0

这听起来很愚蠢,但我怎么去做所有这些?游戏是建立的......我只想让它在AS3项目(它已经做到了)的按钮上点击打开,然后链接回游戏中的主项目......有没有办法绕过它...就像在AS3项目中将游戏打造成一个独立的窗口一样? –

+0

这是一个体面的教程 - 你将不得不在两个文件中编写代码来处理通信,然后当游戏结束时,AS3主要从AS2获得一个信号http://active.tutsplus.com/教程/动作/接口之间,两个文件 - 使用最的LocalConnection类/ – Gone3d