预览:http://www.onflex.org/flexapps/components/CustomPreloader/
package preload
{
import flash.display.Loader;
import flash.utils.ByteArray;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class WelcomeScreen extends Loader//继承其他类吧???
{
[ Embed(source="welcome.gif", mimeType="application/octet-stream") ]//要求这个progress bar加载前,先把welcome.gif下载好,以便代码之用
public var WelcomeGif:Class;//建立一个空类
public var timer:Timer;//建立一个定时器
private var fadeInRate:Number = .01;//设定透明度每次增加的量
private var fadeOutRate:Number = .02;//设定透明度每次减少的量
private var timeAutoClose:int = 500;
public var ready:Boolean = false;
public function WelcomeScreen()//本类的构造函数,在实例化的时候首先执行
{
this.visible = false;//不显示
this.alpha = 0;//完全透明
timer = new Timer( 1 );//建立定时器,时间间隔为1毫秒??
timer.addEventListener( TimerEvent.TIMER, updateView );//建立一个显示的过程
timer.start();
this.loadBytes( new WelcomeGif() as ByteArray );//把图片load进实例化为ByteArray的WelcomeGif类里面,详细看loadBytes的用法(这句应该是属于显示图片的关键语句吧)
this.addEventListener( MouseEvent.MOUSE_DOWN, mouseDown );//建立鼠标帧听时间(实现点击鼠标就关闭???)
}
public function updateView( event:TimerEvent ):void//图片从全透明变成不透明的方法
{
if( this.alpha < 1) this.alpha = this.alpha + this.fadeInRate;
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() //如果ready为true??与定时器的值大于上面设置的500,就关闭图片
}
public function closeScreen():void//关闭图片的方法,去掉2个帧听,加入一个新的帧听,让图片渐渐消失
{
timer.removeEventListener( TimerEvent.TIMER, updateView );
timer.removeEventListener( MouseEvent.MOUSE_DOWN, mouseDown);
timer.addEventListener( TimerEvent.TIMER, closeScreenFade );
}
public function closeScreenFade( event:TimerEvent ):void//图片渐渐消失的过程,透明度不断变小,当透明度不大于0(就是为0时),timer停止,图片被去掉
{
if( this.alpha > 0){
this.alpha = this.alpha - fadeOutRate;
} else {
timer.stop()
this.parent.removeChild(this);
}
}
public function mouseDown( event:MouseEvent ):void//这里简单,老鼠一点,就关闭了
{
closeScreen();
}
}
}
转自:http://gdlszxx.gjjblog.com/archives/892823/
分享到:
相关推荐
自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,...
自定义组件是Flex4开发中的一个重要方面,它不仅可以让开发者根据项目需求创建独特的UI元素,还可以极大地提高应用的表现力和用户体验。通过深入理解Spark架构以及组件的生命周期,开发者可以更高效地开发高质量的...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
本文将围绕“flex3自定义DownloadProgressBar”这一主题展开,讲解如何在Flex3中创建一个定制化的下载进度条组件,并探讨相关的编程技术和实践。 一、自定义组件基础 在Flex中,自定义组件是通过继承已有的...
通过以上步骤,我们可以创建一个完全符合需求的自定义弹出对话框,使其在Flex Mobile平台上运行良好。"AlertDialog"可能就是这样一个自定义组件的名称,包含了实现上述功能的代码和资源。在实际项目中,我们可以根据...
Flex例子Flex例子Flex例子Flex例子Flex例子Flex例子
在这个例子中,开发者可能已经创建了一个新的组件类,扩展了Spark或 Halo的ProgressIndicator类,以实现圆形显示。 2. **图形绘制**:在Flex中,我们可以使用Graphics API来绘制图形。圆形进度条的圆环和填充部分...
这个主题聚焦于“flex自定义控件与事件”,这是一个关键的开发概念,特别是对于那些希望深入理解Flex架构和提升应用用户体验的开发者来说。 自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建...
本文将详细介绍如何在Flex中创建自定义控件,并通过一个具体的登录组件示例来展示其具体实现过程。 #### 二、Flex自定义控件概述 在Flex中,自定义控件是指根据特定需求构建的新控件,这些控件可以基于现有的Flex...
IconItemRenderer是Flex中一个预定义的类,它是ItemRenderer的子类,通常用于在List组件的每一项中显示图标和文本。我们可以通过继承IconItemRenderer来扩展其功能,比如在ItemRenderer中添加按钮、图像或者其他组件...
自定义`ToolTip`在Flex中是一个强大的工具,可以极大地增强用户界面的交互性和信息传递能力。通过深入理解`Main.mxml`和`CustomToolTip.mxml`的结构和功能,开发者可以灵活地定制`ToolTip`,以适应各种设计需求和...
本话题聚焦于自定义一个通用的`ImageButton`组件,该组件结合了图像和按钮的功能,提供了更丰富的交互体验。在Flex4中实现这样的组件通常涉及到两个主要部分:组件类(Component Class)和皮肤类(Skin Class)。...
本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的组件。 组件生命周期是每个Flex组件从创建到销毁所经历的一系列阶段。理解组件生命周期至关重要,...
- 新建一个名为`CLogin.mxml`的自定义组件,基于`TitleWindow`。 - 在Design视图中编辑`TitleWindow`的标题为“用户登录”。 - 添加`Form`控件,并在其中放置两个`FormItem`(用于输入用户名和密码)以及一个提交...
- 例如,如果你有一个名为`MyButton.as`的自定义按钮,你可以在其中写入`skinClass="skins.MyButtonSkin"`来关联皮肤。 4. **处理不同状态** - Flex组件有多种状态,如`normal`, `disabled`, `hovered`等。在皮肤...
通过以上步骤,你就可以在Flex3中创建一个自定义的加载进度条。这个过程涉及到了组件开发、事件处理、数据绑定和界面设计等多个方面,对于深入理解和使用Flex3框架非常有帮助。同时,加入相关的技术交流群或者访问...
自定义控件是Flex开发中的一个重要方面,它允许开发者根据特定需求创建独特的UI组件,从而增强应用的功能性和视觉效果。本文将深入探讨Flex自定义控件的创建过程,从前期准备到实际应用,帮助读者掌握这一关键技能。...
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的高级特性之一。下面将详细介绍Flex自定义事件的相关知识点。 #### 1. 自定义事件的意义 在Flex应用中,事件是一种对象,...
Flex3自定义组件类似于Fieldset