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;
}
}
}