Tel: 139 1798 9226
新闻中心
联系我们
上海艺虎文化传播有限公司
地址:上海青浦区崧泽大道6066号尚之坊创意园区3号楼M03室
电话:400-804-9112
手机:021-6064-9112
邮箱:service@yihoo.sh
QQ:1076576968
当前位置:广州MG动画制作 » 行业新闻 » 正 文
结合flash制作的flex进度条
行业新闻 / 2017-02-14

假如光用flex去重写这个DownloadProgressBar类能够完成修正进度条,但在这个类去制作图形界面恐怕有点难,所以联系flash去开发进度条愈加简略.至于在flash里导出的swc文件我就不多说了,我只简略出下说一下从flash里导出的swc文件进度条如安在flex中使用,我想这是要害的地方.
flash动画制作
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没多久,代码可能写的有些烂,还望多多包容!