类似QQ农场,用loading加载所有的资源后,再呈现flash怎么做?
最近做了个flash,由于里面包含大量的图片和音频,导致这个flash文件较大;于是想做个loading,批量下载完所有素材后再一次将flash呈现给用户
请问QQ农场那样的"加载UI素材",……,"加载主文件",分几个步骤下载资源是怎么实现的呀?
PS:我知道实现细节是用bytesLoaded和bytesTotal来计算百分比。
我是想知道,swf文件本来就很大了,是用另外一个很小的swf来显示loading进度,然后到100%再显示真正的swf吗?
(另外请问用flash开发和flex开发的项目,实现这个loading有什么不同吗?)
[解决办法]
flex有自带的进度条,不过你修改重写一下,增加个开始和结束。改成单例模式。用timer来控制一下。并用
this.x = Capabilities.screenResolutionX/2-this.width/2;
this.y = Capabilities.screenResolutionY/2-this.height/2-100;
这2句话来控制居中。
在下载开始的时候调用进度条,结束的时候关掉就可以。
不过你想做的更好,那就需要改更多东西了,我帮不上了
[解决办法]
简单介绍一下我目前的做法。
首先,新建一个Flex Library Project,类似这样:
public class Assets extends Sprite{ /** * 草地背景暗色 */ [Embed(source="../../../../../assets/images/backgrounds/grass_dark.png")] public var grassDarkImageClass:Class; /** * 草地背景亮色 */ [Embed(source="../../../../../assets/images/backgrounds/grass_light.png")] public var grassLightImageClass:Class;}