- 浏览: 716626 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
package cn.ishion.component { import flash.display.DisplayObject; import flash.display.Graphics; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import flash.events.Event; import flash.events.ProgressEvent; import flash.geom.Point; import flash.geom.Rectangle; import flash.net.URLRequest; import flash.text.TextField; import flash.utils.clearTimeout; import flash.utils.setTimeout; import mx.events.FlexEvent; import mx.preloaders.IPreloaderDisplay; public class ConstomPreloader extends Sprite implements IPreloaderDisplay { private var url:String="loader1.swf"; private var loadContent:Object;//加载的内容 private var swfLoader:Loader;//加载swf东西 private var hasLoad:Boolean=false; // private var preTxt:TextField; private var swfWidth:Number=800; private var swfHeight:Number=600; private var _pregressRect:Rectangle; private var progressSprite:Sprite; public function get pregressRect():Rectangle{ return new Rectangle(0,0,400,10); } public function ConstomPreloader() { super(); loadSWF(); } private function loadSWF():void { swfLoader=new Loader(); swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); swfLoader.load(new URLRequest(url)); } private function onComplete(event:Event):void { var loadInfo:LoaderInfo=event.target as LoaderInfo; this.loadContent=loadInfo.content; this.hasLoad=true; createChild() } private function createChild():void { this.loadContent.x=Object(this.stage.stageWidth / 2 - swfWidth / 2); this.loadContent.y=Object(this.stage.stageHeight / 2 - swfHeight / 2); this.addChild(this.loadContent as DisplayObject); //搞不明白,stage.width stage.stageWidth trace(this.stageWidth+"::"+this.stageHeight); trace(this.stage.stageWidth+":::"+this.stage.stageHeight); trace(this.stage.stageWidth+":::"+this.stage.stageHeight); trace(this.loadContent.stage.width+"ssss"+this.loadContent.stage.height); var contentPoint:Point=new Point; contentPoint.x=this.stage.stageWidth/2-this.swfWidth/2; contentPoint.y=this.stage.stageHeight/2-this.swfHeight/2; preTxt=new TextField(); preTxt.selectable=false; preTxt.x=contentPoint.x + 200; preTxt.y=contentPoint.y + 400; preTxt.text="正在加载中"; this.addChild(preTxt); this.progressSprite=new Sprite(); this.progressSprite.x=this.preTxt.x; this.progressSprite.y=this.preTxt.y+20; var gra:Graphics=this.progressSprite.graphics gra.beginFill(0x0000ff,1); gra.drawRect(this.pregressRect.x,this.pregressRect.y,this.pregressRect.width,this.pregressRect.height); gra.endFill(); this.addChild(this.progressSprite); } public function get backgroundAlpha():Number { return 0; } public function set backgroundAlpha(value:Number):void { } public function get backgroundColor():uint { return 0; } public function set backgroundColor(value:uint):void { } public function get backgroundImage():Object { return null; } public function set backgroundImage(value:Object):void { } public function get backgroundSize():String { return null; } public function set backgroundSize(value:String):void { } public function set preloader(obj:Sprite):void { //Listen for 正在下载 obj.addEventListener(ProgressEvent.PROGRESS, handleProgress); //Listen for 下载完成 obj.addEventListener(Event.COMPLETE, handleComplete); //Listen for 正在初始化 obj.addEventListener(FlexEvent.INIT_PROGRESS, handleInitProgress); //Listen for 初始化完成 obj.addEventListener(FlexEvent.INIT_COMPLETE, handleInitComplete); } protected function handleProgress(event:ProgressEvent):void { this.setProgress(event.bytesLoaded, event.bytesTotal); } protected function handleComplete(event:Event):void { if(this.hasLoad){ this.preTxt.text="应用程序加载完成"; } } protected function setProgress(completed:Number, total:Number):void { if (!isNaN(completed) && !isNaN(total) && completed >= 0 && total > 0) { var value:Number=Number(completed); var maximum:Number=Number(total); draw(value, maximum); } } private function draw(value:Number, maxnum:Number):void { if (this.hasLoad) { var currentLoad:Number=this.getPercentLoaded(value,maxnum); this.preTxt.text="当前加载" +currentLoad + "%"; var g:Graphics=this.progressSprite.graphics; g.beginFill(0xcc6699,1); g.drawRect(this.pregressRect.x,this.pregressRect.y+2,this.pregressRect.width*currentLoad/100,this.pregressRect.height-4); g.endFill(); } } protected function getPercentLoaded(loaded:Number, total:Number):Number { var perc:Number; if (loaded == 0 || total == 0 || isNaN(total) || isNaN(loaded)) return 0; else perc=100 * loaded / total; if (isNaN(perc) || perc <= 0) return 0; else if (perc > 99) return 99; else return Math.round(perc); } protected function handleInitProgress(event:FlexEvent):void { if(this.hasLoad){ this.preTxt.text="应用程序初始化"; } } protected function handleInitComplete(event:FlexEvent):void { this.preTxt.text="应用程序初始化完成,开始进入主见面" this.loadContent.addEventListener("framequit",clearLoad); this.loadContent.gotoAndPlay("complete"); // var id:int=setTimeout(clearLoad,2000,id); } private function clearLoad(event:Event):void{ this.loadContent.removeEventListener("framequit",clearLoad); this.removeChild(this.progressSprite); this.removeChild(this.loadContent as DisplayObject); this.removeChild(this.preTxt); this.swfLoader.unload();//卸载资源 this.dispatchEvent(new Event(Event.COMPLETE)); } public function get stageHeight():Number { return 500; } public function set stageHeight(value:Number):void { } public function get stageWidth():Number { return 375; } public function set stageWidth(value:Number):void { } public function initialize():void { } } }
发表评论
-
转深入理解Flash的沙箱 – Security Domains
2014-01-22 09:35 837一篇很经典的进阶文章,国外牛人的分享,清晰明了,图文并茂,适 ... -
flex 很有用的东东!
2010-06-17 23:50 1262网上找了好久,原来API中就有! -
flex出现的一些问题
2010-04-08 12:19 16621.kingnarestyle.swf和flexlib 的Su ... -
flex 样式工作原理【转】
2010-04-08 12:09 1323http://hi.baidu.com/ls_mcx/blog ... -
在FlexBuilder3中使用Actionscript3进行元编程
2010-03-11 19:15 1034http://flash.9ria.com/thread-46 ... -
Error: No class registered for interface mx
2010-02-01 09:36 1244http://www.gold98.net/blog/arti ... -
Flash 视频(FLV)编码,转换,录制,播放方案一网打尽
2010-01-16 18:34 2017http://www.htmlit.com.cn/post/8 ... -
FLEX中使用FLVPlayback控件.
2010-01-16 18:29 1395http://www.cnblogs.com/xxcainia ... -
flex 继承Application及xml命名空间
2009-12-30 18:43 1519<?xml version="1.0" ... -
flex Repeater effert加效果
2009-12-15 17:25 1520package cn.ishion.component { ... -
学习自定义组件---ConstomButton
2009-12-14 15:06 1829效果只是让Button动了下, 上传了flash源文件 p ... -
flex编译生成的As代码
2009-12-09 18:30 1312new flexProject ->起名叫 test ... -
flex自定义程序 preloader 加载多个资源
2009-12-09 02:05 2284package cn.ishion.component { ... -
Flex Builder编译错误An internal build error has occurred的解决方法
2009-12-05 16:44 3212原文:http://as3blog.com/resources ... -
flex uicomponent.addChild(Button) Button不显示
2009-12-04 19:23 2141设置下Button的宽度和高度就行了 var ui:U ... -
as3 xls导出excel乱码问题解决办法
2009-12-04 11:37 3391http://blog.csdn.net/Baijinwen/ ... -
FlashDevelop配置Flex4(gumbo)环境
2009-12-04 10:27 3052http://www.flexrain.cn/fl ... -
flex gooogle code as3xls导出数据到excel
2009-12-03 19:16 2358var ex:ExcelFile=new ExcelFile ... -
Flex坐标系统及转换
2009-12-02 22:10 3097http://flash.9ria.com/thread-40 ... -
flex动态切换皮肤
2009-11-23 18:06 2020http://www.cnblogs.com/mobile/a ...
相关推荐
在“flex自定义加载进度条”的场景中,开发者可能想要替换Flex默认的Application预加载器,以提供更个性化的用户体验。自定义预加载器可以让开发者自由设计加载界面的外观和交互,例如改变颜色、形状或动画效果,...
在Flex应用程序开发中,用户首次启动应用时会看到一个加载屏幕,这个屏幕通常被称为预加载器(Preloader)。预加载器的主要目的是显示应用程序加载的进度,同时为用户提供一种视觉反馈,让他们知道程序正在准备运行...
- **自定义Preloader**:创建自定义预加载器以增强用户体验。 - **自定义图表组件**:根据业务需求设计和实现定制化的图表组件。 - **高级皮肤专题**:深入探讨如何使用Flex Skin框架为组件创建自定义外观。 - **...
首先,`Preloader.as` 是一个常见的Flex组件,它负责在应用程序加载之前显示进度条,提高用户体验。在处理桌面背景这样的任务时,可能用到预加载器来确保所有必要的资源(如图片或皮肤)在改变桌面背景前已完全加载...
2.5.4 使用ActionScript创建自定义组件 2.6 异步调用 2.6.1 异步调用导致模型数据不一致 2.6.2 异步调用导致用户反复(误)操作 2.7 小结 第3章 Flex企业应用开发中的主要元素 3.1 企业应用的特点...
2.5.4 使用ActionScript创建自定义组件 2.6 异步调用 2.6.1 异步调用导致模型数据不一致 2.6.2 异步调用导致用户反复(误)操作 2.7 小结 第3章 Flex企业应用开发中的主要元素 3.1 企业应用的特点...
Flex应用的根对象是SystemManager,这是一个Display Class,继承自flash.display.MovieClip,使得预加载器(Preloader)和应用程序(Application)可以在两个不同的帧中运行。SystemManager有一个...
2.5.4 使用ActionScript创建自定义组件 62 2.6 异步调用 85 2.6.1 异步调用导致模型数据不一致 85 2.6.2 异步调用导致用户反复(误)操作 86 2.7 小结 87 第3章 Flex企业应用开发中的主要元素 88 3.1 企业应用...
压缩包中的文件名“simple_preloader_2307”可能是一个简单的预加载器(preloader)示例。在Flex应用中,预加载器是加载应用程序的主要组件,它在主应用程序完全加载之前显示进度,以提高用户体验。这个文件可能是用...
可以使用`Preloader`类或自定义的预加载策略来实现。 总结,Flex图片显示涉及了`Image`组件、动态加载、图片处理、优化策略等多个方面。通过深入理解这些知识点,开发者能够创建出功能丰富、性能优秀的Flex应用程序...
通过研究和修改这个“BRUSHED METAL PRELOADER”源码,开发者可以学习到如何创建自定义、交互式的预加载器,并将其应用于自己的Flash MX或Flex项目中,提升网站的用户体验。同时,这也是一个深入了解ActionScript...
网上找了很多都不完整,上传一个工程给大家分享,采用子类加载swf或者gif的方式显示loading ,gif或者swf文件可以随意换成自己喜欢的。...压缩包内容:preloader和button两种方式显示loading fex3源码