我已经为我的游戏创建了一个菜单,其中包含按钮以及名为Menu的单独.fla文件。我的实际游戏是另一个名为Game.fla的.fla文件。我想知道在游戏开始之前加载这个菜单最好的方法是什么?
感谢。
答案 0 :(得分:0)
从Menu.fla加载swf输出并检查来自loader的progressEvent。在Menu.swf完全加载并初始化之前,不要显示游戏画面。
OP发表评论的更多细节: 您可以http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#load%28%29加载外部swfs。 init Event将标记swf的actionscript已经开始执行。 OTOH,complete事件将告诉所有swf字节已被加载。
答案 1 :(得分:0)
我建议你用Menu.fla创建一个.swc,然后将.swc添加到你的Game.fla
如果您使用的是CS6,请确保为要在代码中创建实例的任何MovieClip设置链接。
在库路径选项卡的actionscript设置中,您可以添加.swc,它将在编译时包含在.swf中。
在您的代码中,您现在可以创建一个实例并添加到显示列表中:
// Assuming MainMenu was a movieclip with linkage set in your .swc
var mainMenu:MainMenu = new MainMenu;
addChild(mainMenu);
我应该注意,这不会在运行时加载.swc,它会在编译时将.swc包含在.swf中。在大多数情况下,我建议使用此方法来加载.swf。我可能不会的情况是,如果有大量内容不是一次性需要的话。这将允许您最小化您使用的内存量并减少主.swf的.swf大小,以便加载更快。
无论何时你在运行时加载.swf,你都会增加另一层复杂性,所以除非你有充分的理由这样做,否则我不推荐它。根据您的描述,这听起来不像是我在运行时加载外部.swf的情况。