flex自定义preloader预加载进度条
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flashx.textLayout.BuildInfo;
import mx.events.*;
import mx.preloaders.DownloadProgressBar;
public class CustomPreloader extends DownloadProgressBar {
public var wcs:WelcomeScreen;
public var msg:TextField;
public function CustomPreloader()
{
super();
msg=new TextField();
wcs = new WelcomeScreen();
this.addChild(wcs);
this.addChild(msg);
}
override public function set preloader( preloader:Sprite ):void
{
preloader.addEventListener( ProgressEvent.PROGRESS , SWFDownloadProgress );
preloader.addEventListener( Event.COMPLETE , SWFDownloadComplete );
preloader.addEventListener( FlexEvent.INIT_PROGRESS , FlexInitProgress );
preloader.addEventListener( FlexEvent.INIT_COMPLETE , FlexInitComplete );
}
private function SWFDownloadProgress( event:ProgressEvent ):void {
msg.text=String(int(event.bytesLoaded/event.bytesTotal*100))+" %";
msg.background=true;
msg.backgroundColor=0xD4E4FF;
msg.width=200;
msg.height=20;
msg.textColor=0x444444;
}
private function SWFDownloadComplete( event:Event ):void {}
private function FlexInitProgress( event:Event ):void {
// wcs.ready = true;
msg.text="完成了!";
wcs.closeScreen();
dispatchEvent(new Event(Event.COMPLETE));
}
private function FlexInitComplete( event:Event ):void
{
// wcs.ready = true;
// dispatchEvent( new Event( Event.COMPLETE ) );
}
}
}
{
import flash.display.Loader;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.ByteArray;
import flash.utils.Timer;
public class WelcomeScreen extends Loader
{
[ Embed(source="images/mt.jpg", mimeType="application/octet-stream") ]
public var WelcomeScreenGraphic:Class;
public var timer:Timer;
private var fadeInRate:Number = .05;
private var fadeOutRate:Number = .08;
private var timeAutoClose:int = 500;
public var ready:Boolean = false;
public function WelcomeScreen()
{
this.visible = false;
this.alpha = 0.5;
timer = new Timer( 1 );
timer.addEventListener( TimerEvent.TIMER, updateView );
timer.start();
this.loadBytes( new WelcomeScreenGraphic() as ByteArray );
this.addEventListener( MouseEvent.MOUSE_DOWN, mouseDown );
}
public function updateView( event:TimerEvent ):void
{
if( this.alpha < 1) this.alpha = this.alpha + this.fadeInRate;
if( this.stage.stageWidth>0){
this.stage.addChild(this);
this.x = this.stage.stageWidth/2 - this.width/2;
this.y = this.stage.stageHeight/2 - this.height/2;
this.visible=true;
}
if( this.ready && timer.currentCount > this.timeAutoClose ) closeScreen()
}
public function closeScreen():void
{
timer.removeEventListener( TimerEvent.TIMER, updateView );
timer.removeEventListener( MouseEvent.MOUSE_DOWN, mouseDown);
timer.addEventListener( TimerEvent.TIMER, closeScreenFade );
}
public function closeScreenFade( event:TimerEvent ):void
{
if( this.alpha > 0){
this.alpha = this.alpha - fadeOutRate;
} else {
timer.stop()
this.parent.removeChild(this);
}
}
public function mouseDown( event:MouseEvent ):void
{
closeScreen();
}
}
}

flex自定义preloader预加载进度条的更多相关文章
- 网站顶部显示预加载进度条preload.js
网站加载的速度快的话,不会显示进度条加载时候的样式. 支持性主流浏览器都支持,ie浏览器需要9以上9也支持. 使用方法 <script src="http://code.jquery. ...
- iOS 自定义任意形状加载进度条(水波纹进度条)
1. 项目中要做类似下面的加载动画: 先给出安卓的实现方式 2.iOS的实现方式参考了下面两位的,感谢. 以任意底部图片为背景的加载动画 和 水波纹动画 最后附上自己的demo
- pace.js – 加载进度条插件
这儿只是简单介绍一下这个插件pace.js. 在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况.此插件的兼容性很好,可以兼容 ...
- 【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画
之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特 ...
- iOS UIWebView 加载进度条的使用-WKWebView的使用,更新2017.6.26
1.由于项目中加载网络插件,直接使用了webview加载.使用了三方NJKWebViewProgress进度条的使用,近期在测试时发现,网络缓慢时出现白屏,有卡顿现象. 于是采用了WKWebView进 ...
- pace.js – 网页自动加载进度条插件
网站顶部的页面加载进度条是怎么实现的,页面的加载进度百分比,有时候获取是比较麻烦的,当然也可以利用一些优秀的JavaScript插件来实现,今天就为大家介绍这样子的一款插件:pace.js. [官方网 ...
- 【原生JS插件】LoadingBar页面顶部加载进度条
先展示一下已经实现的效果: 预览地址:http://dtdxrk.github.io/js-plug/LoadingBar/index.html 看到手机上的浏览器内置了页面的加载进度条,想用在pc上 ...
- 《C/C++实现Console下的加载进度条模拟[美观版]》
前言 有时候我们会遇到在CMD或DOS控制台上出现的加载进度条,虽然不是如网页和软件写的美观.但确确实实也有着自己的特色.而且,一个好看的加载进度条也能增加用户使用控制台程序的体验!所以,拿来研究 ...
- css3 linear-gradient实现页面加载进度条效果
最终效果图: html结构: <div> <p class="p1"> <span></span> < ...
随机推荐
- python&django 常见问题及解决方法
0.python-dev安装(ubuntu) apt-get install python-dev 1.Open(filename,mode) 报错实例: f = open('d:\Users\16 ...
- 如何查看linux程序被何种版本的编译器编译的?
答: 使用vi工具之间搜索关键字"GCC"即可找出编译该程序的编译器版本号!
- POJ 3264 Balanced Lineup (线段树查找最大最小值)
http://poj.org/problem?id=3264 题意:给你一个长度为n的序列a[N] (1 ≤ N ≤ 50000),询问Q(1 ≤ Q ≤ 200000) 次,每次输出[L, R]区间 ...
- shell编程(三)之条件判断(if语句)
练习:写一个脚本判断当前系统上是否有用户的默认shell为bash: 如果有,就显示有多少个这类用户:否则,就显示没有这类用户: #!/bin/bash # grep '\<bash$' /et ...
- 深入了解JVW
Java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...
- Spring Security原理与应用
Spring Security是什么 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置 ...
- java 之 schema解析
一,schema约束 *dtd语法:<ELEMENT 元素名 约束> *schema符合xml的语法,xml语句 **一个xml中可以有多个schema,多个schema使用名称空间区分( ...
- 《开始使用Linux》单元测验 1
C语言编写的应用程序,通过printf打印一个换行符\n,但在终端上执行的是回车加换行\r\n,把换行符替换为回车换行是由下面哪个软件模块完成的? Linux内核中的行律模块 下面哪个命令可以获得ma ...
- memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
1.在http://libevent.org/ 下载libevent-2.0.22-stable.tar.gz 2.tar -zxvf libevent-2.0.22-stable.tar.gz ...
- CAS 是什么
CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B. 更新一个变量的时候,只有当变量的预期值 ...