`
sanzhixiong86
  • 浏览: 2405 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

结合flash制作的flex进度条

阅读更多
结合flash制作的flex进度条
文章分类:Web前端
结合flash制作的flex进度条

实例:http://www.princeshow.com/wish/



如果光用flex去重写这个DownloadProgressBar类可以实现修改进度条,但在这个类去绘制图形界面恐怕有点难,所以结合flash去开发进度条更加简单。至于在flash里导出的swc文件我就不多说了,我只简单出下说一下从flash里导出的swc文件进度条如何在flex中应用,我想这是关键之处。

1、导出的ProBar.swc文件引入flex Project中

2、新建一个类MyDownProBar继承DownloadProgressBar类,然后重新设置一下preloader属性

Java代码
override public function set preloader(s:Sprite):void{  
            s.addEventListener(ProgressEvent.PROGRESS,inProgress);  
            s.addEventListener(Event.COMPLETE,complete);  
            s.addEventListener(FlexEvent.INIT_COMPLETE,initComplete);  
            s.addEventListener(FlexEvent.INIT_PROGRESS,initProgress);  
        } 

override public function set preloader(s:Sprite):void{
s.addEventListener(ProgressEvent.PROGRESS,inProgress);
s.addEventListener(Event.COMPLETE,complete);
s.addEventListener(FlexEvent.INIT_COMPLETE,initComplete);
s.addEventListener(FlexEvent.INIT_PROGRESS,initProgress);
} 3、inProgress方法是关键之处,在这个方法里将会绘制进度条图形

Java代码
private function inProgress(e:ProgressEvent):void{//进度条显示的百分数方法  
            var barWidth:Number = e.bytesLoaded/e.bytesTotal*100;          
            if(proBar==null){  
                proBar=new ProBar();  
                proBar.x=(this.stageWidth-this.width)/2-40;  
                proBar.y=(this.stageHeight-this.height)/2-18;  
                this.addChild(proBar);  
                  
                myLabel=new TextField();  
                myLabel.x=(this.stageWidth-this.width)/2+40;  
                myLabel.y=(this.stageHeight-this.height)/2;  
                myLabel.textColor=0x8579E9;  
                this.addChild(myLabel);  
                  
            }  
            proBar.setProBar(int(barWidth));  
            myLabel.text="已经加载:"+int(barWidth)+" %";  
        } 

private function inProgress(e:ProgressEvent):void{//进度条显示的百分数方法
var barWidth:Number = e.bytesLoaded/e.bytesTotal*100;       
if(proBar==null){
proBar=new ProBar();
proBar.x=(this.stageWidth-this.width)/2-40;
proBar.y=(this.stageHeight-this.height)/2-18;
this.addChild(proBar);

myLabel=new TextField();
myLabel.x=(this.stageWidth-this.width)/2+40;
myLabel.y=(this.stageHeight-this.height)/2;
myLabel.textColor=0x8579E9;
this.addChild(myLabel);

}
proBar.setProBar(int(barWidth));
myLabel.text="已经加载:"+int(barWidth)+" %";
} proBar.setProBar(int(barWidth))是重要环节,实际上在这里这个方法是调用在flash里写好的一个方法,方法很简单

Java代码
public function setProBar(frame:int):void{  
            gotoAndStop(frame);  
        } 

public function setProBar(frame:int):void{
gotoAndStop(frame);
}

意思就是跳到下一帧停止,这就是这个进度条的核心之后在呀。我这样可以根据百分比去一帧一帧显示进度条,这样就实现了动画效果,所以说时间轴和帧在flash里是命脉。



不多说,直接贴出我测试的小例子,自己可以看下,本人刚学flex没多久,代码可能写的有些烂,还望多多包涵!

分享到:
评论

相关推荐

    flash进度条

    响应式设计则需要考虑进度条在不同分辨率和设备上的适配,可能需要借助CSS3或Flex布局。 总的来说,创建“Flash进度条”涉及了Flash的基础动画原理、ActionScript编程技巧以及UI/UX设计原则。在CS4版本中,开发者...

    Flash Flex 上传文件

    本话题主要探讨如何使用Flash和Flex来实现文件上传功能,并结合Asp.Net后端进行交互。 Flash是一款由Adobe公司开发的多媒体创作平台,它可以制作出包含动画、视频、交互元素等内容的富媒体内容。而Flex是基于...

    flex皮肤

    总结来说,使用Flash制作Flex皮肤是一项结合了艺术设计和编程技能的任务。通过理解Flex皮肤的工作原理,掌握在Flash中创建和导出皮肤资源的技巧,以及在Flex项目中正确应用皮肤,开发者可以打造出具有独特风格且功能...

    flex制作的播放器

    1. Flex框架:了解Flex的基本架构,包括MXML和ActionScript的结合使用,以及如何创建和管理组件。 2. 媒体播放:研究Flash Player对音频和视频的支持,如使用Flash Media Player API进行媒体加载、播放控制和缓冲...

    flex制作的MP3播放器

    Flex是一种基于Adobe Flash技术的开放源代码框架,用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据服务支持,使得开发人员能够创建出交互性极强、视觉效果出众的应用程序。在这个场景中,...

    Flex 制作的视频播放器,同时可以支持全屏播放

    6. **样式和皮肤**:Flex允许自定义组件的外观,包括按钮、进度条等。我们可以通过CSS或自定义皮肤类来改变播放器的视觉样式,使其符合应用的整体设计。 7. **事件处理**:在Flex中,事件驱动编程是常见的模式。...

    flex漂亮MP3播放器源码

    flex漂亮MP3播放器源码,结合flash、CSS等制作精美皮肤…… 具有一般的mp3播放、声音调节、进度条、3种频谱显示方式,内带flash素材源文件…… Drag.as通用拖动源代码…… Visualization Explorer……

    Flex 开门特效,很具体很全面。

    2. **AnimateCC(原Flash Professional)**:尽管Flex主要基于代码开发,但通常会结合AnimateCC(前身是Flash Professional)进行图形和动画的设计。设计师可以在AnimateCC中制作门的图形和初始动画,然后导出为SWC...

    IT技术文章示例

    SWFUpload是一个基于Flash的文件上传组件,能够提供多文件选择、文件类型验证、进度条显示等功能。Servlet则是Java平台上的服务器端技术,用于扩展应用程序服务器的能力。这三者的结合通常用于构建具有文件上传功能...

Global site tag (gtag.js) - Google Analytics