如何为Flash游戏创建预加载器

时间:2013-06-26 04:00:24

标签: actionscript-3 flash preloader

我刚刚开始进入Flash游戏编程。我知道足以创建一个正常运行的项目,但不知道如何使其高效或执行特定任务,在这种情况下如何添加预加载器。我在网上找到了几个教程,但没有一个与我看到的是最好的编程方法。从我所看到的,最好将我的所有代码编程到一个.as文件中,并将此文件链接到主文档。这使我很容易将所有变量全局放在范围内,这使我可以在各种不同的函数中添加chim / removeChild。唯一的问题是我找不到有关使用此方法创建预加载器的教程。我发现的所有教程一般在时间轴上有两个框架,一个有预加载器,一个有内容,但我被告知这不是一个好的编程方式。如果有人可以提供帮助,我会非常感激。我可以粘贴我的一个学习项目的源代码,如果它有助于提供我的问题的答案。

1 个答案:

答案 0 :(得分:0)

我不会选择2 Frame方法。而只是像你说的那样在你的文档课上制作你的游戏。
然后当你完成后,将已编译的游戏swf加载到加载程序swf。

这是一个关于loaderSwf应如何显示的简单示例:

import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;

function startLoad()
{
   var mLoader:Loader = new Loader();//Or use ProLoader
   var mRequest:URLRequest = new URLRequest(“Game.swf”);
   mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
   mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
   mLoader.load(mRequest);
}

function onCompleteHandler(loadEvent:Event)
{
   addChild(loadEvent.currentTarget.content);
}
function onProgressHandler(mProgress:ProgressEvent)
{
   var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
   trace(percent);
}
startLoad();

(如果您将其用作文档类,则需要包装在包和类中)