如何在flash中编写加载动作?

时间:2010-06-26 15:29:37

标签: javascript flash

我正在尝试在flash中设计一个网站,并且想知道如何设计一个加载flash电影,就像一个旋转直到网站加载的圆圈。我可能无法正确解释,但它就像你安装软件,你得到的安装栏,如何使用flash或java脚本在网站上获得它?

2 个答案:

答案 0 :(得分:1)

好的,所以你需要一个预加载器(我假设你使用的是ActionScript 3.0)。这将是一个加载主Flash文件的小SWF文件。最小的实现(如下所示)约为1-2 KB

因此,在你的Flash IDE(Flash CS3,CS4,CS5)中你想创建一个新的fla,我们称之为preloader.fla。在此文件中,您将需要两个图层。将第一层命名为actions,将第二层命名为content。

在您的内容图层中,只需在舞台上放置一个动态文本字段即可。将它命名为txt / percent或者你想要的任何东西......我正在使用txt。

在您想要的动作图层中,选择第一个关键帧并打开动作(代码)面板

然后你想使用loader类加载外部文件(主flash电影),如下所示

var ldr:Loader = new Loader();

要处理动画等,您需要收听ProgressEvent。您将通过收听contentLoaderInfo中的加载信息来执行此操作,如下所示

ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, update);

因此,当您加载主文件的数据时,会触发此事件。 'update'将是我们将调用以处理数据进度的函数。

下一个要收听的事件将是当主文件的加载完成并且我们想要显示它时。

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, display);

然后我们有一个函数display来处理完成并显示主文件。

最后一件事就是加载内容,例如。的main.swf。

ldr.load(new URLRequest("main.swf"));

这里我们将有文本字段显示从0到100%的字节加载;

function update(e:ProgressEvent):void {
    var percent:Number = e.bytesLoaded / e.bytesTotal;
    txt.text = Math.ceil(percent*100).toString();

}

下面是删除textfield(txt)并将main.swf添加到显示列表的函数。

function display(e:Event):void {
    removeChildAt(0);
    txt=null;
    addChild(ldr);
}

现在您可以将内容图层中的txt更改为不同的内容,例如您所说的圆圈旋转...取决于您希望它显示的方式,所以我在下面放置了一些您可以关注的链接。欢呼声。

示例1:[Demo] [Source Code and Files] 示例2:[Demo] [Source Code and Files]

答案 1 :(得分:0)

如果您只想在网站加载前轮换一个圈子,不要使用闪光灯。

你应该只有一个等待页面加载的动画gif然后消失并在加载所有内容时显示内容。

GIF动画完全支持浏览器,大约是flash动画大小的1/100。