Android转圈圈的进度条,AS3 圆点转圈圈的加载进度条

DEMO1:http://www.aoddo.com/Bui/ext/Loading/lld.swf

DEMO2:http://www.aoddo.com/Bui/ext/Loading/LoadingWin7.swf

DEMO3:http://www.aoddo.com/Bui/ext/Loading/Loading.swf

package

{

import flash.display.MovieClip;

import flash.events.Event;

import flash.display.BitmapData;

import flash.display.Bitmap;

import flash.display.StageScaleMode;

public class LoadingIndex extends MovieClip

{

private var pb:pubScript=new pubScript();

private var cc:MovieClip=new MovieClip();

private var num:Number = 0;

private var mcArr:Array = [];

private var rot:int = 0;

private var nBool:Boolean = false;

public function LoadingIndex()

{

this.stage.scaleMode=StageScaleMode.NO_SCALE;

for (var i:int=1; i<15; i++)

{

var mc:MovieClip=new MovieClip();

mcArr.push(mc);

var pbp:BitmapData = new BitmapData(10,10,true,0x000000);

var pbm:Bitmap = new Bitmap(pbp);

pb.drawLoading(pbp);

mc.addChild(pbm);

cc.addChild(mc);

}

addChild(cc);

cc.x = this.stage.stageWidth / 2 - 5;

cc.y = this.stage.stageHeight / 2 - 5;

this.addEventListener(Event.ENTER_FRAME,upDate);

}

private function upDate(e:Event):void

{

rot += 10;

if (num>=5)

{

nBool = true;

}

else if (num<=0)

{

nBool = false;

}

if (! nBool)

{

num += 0.1;

}

else

{

num -= 0.1;

}

pb.RoundTurnal(mcArr,num);

cc.rotationZ = rot;

}

}

}

package

{

import flash.display.BitmapData;

import flash.display.Sprite;

import flash.display.MovieClip;

public class pubScript

{

private var lts:Sprite=new Sprite();

public function pubScript()

{

// constructor code

}

public function drawLoading(gfx:BitmapData):void

{

lts.graphics.clear();

lts.graphics.beginFill(0x00ff00,1);

lts.graphics.drawCircle(5,5,3);

lts.graphics.endFill();

gfx.draw(lts);

}

public function RoundTurnal(mv:Array,pox:Number):void

{

for (var k:int=1; k

{

var px:Number=Math.floor(Math.sin(k/(pox-0))*100);

var py:Number=Math.floor(Math.cos(k/(pox-0))*100);

mv[k].x = py;

mv[k].y = px;

mv[k].alpha=k/(k+1);

}

}

}

}

=============================================================================================================

//用法 mc是舞台的元件,num是圆点的数量,fx代表加速度比

//new win7Loading().turnCircle(mc,6,1);

// turnCircle(mc:MovieClip,num:int,fx:Number):void

package

{

import flash.display.MovieClip;

import flash.events.Event;

import flash.utils.Timer;

import flash.events.TimerEvent;

public class win7Loading extends MovieClip

{

private var ts:Number = 0;

private var timer:Timer = new Timer(1000);

private var mArr:Array = [];

private var round:Number = 0;

//private var aa:Number = 2 / 4;

private var aa:Number;

private var vt:Number = 1;

//private var circle:Number = 80;

private var circle:Number;

private var nus:Number;

private var td:int=1;

public function win7Loading()

{

// constructor code

}

public function turnCircle(mc:MovieClip,num:int,fx:Number):void

{

circle=6*num;

nus= circle / 6;

for (var j:int=0; j

{

var mm:MovieClip=new MovieClip();

mArr.push(mm);

mc.addChild(mm);

}

aa = fx;

for (var i:int=0; i

{

mArr[i].graphics.beginFill(0x00ff00,1);

mArr[i].graphics.drawCircle(0,0,3);

mArr[i].graphics.endFill();

mArr[i].x=Math.cos((i*1)/nus)*circle;

mArr[i].y=Math.sin((i*1)/nus)*circle;;

}

timerRound();

}

private function timerRound()

{

timer = new Timer(td,1);

timer.start();

timer.addEventListener(TimerEvent.TIMER_COMPLETE,nextTimer);

}

private function nextTimer(ev:TimerEvent):void

{

if (ts>=mArr.length)

{

ts = 0;

}

if (ts

{

td=50;

roundRow(mArr[ts],round+=vt);

}

if (round>=circle)

{

td=200;

round = 0;

}

ts++;

round++;

timer.stop();

timer.removeEventListener(TimerEvent.TIMER_COMPLETE,nextTimer);

timerRound();

}

private function upRound(e:Event):void

{

}

private function roundRow(mc:MovieClip,radius:Number):void

{

if (radius

{

vt = vt + aa;

}

else

{

vt = vt - aa;

}

radius += vt;

var pox:Number=Math.sin(radius/(circle/6))*circle;

var poy:Number=Math.cos(radius/(circle/6))*circle;

mc.x = poy;

mc.y = pox;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值