Public feed
#892540
import flash.utils.Timer
import flash.events.TimerEvent
// Create an instance of a library bitmap
// given the Class name of MyImage
var imageData:Ball = new Ball(0, 0);
var balls:Array=[];
var i:int=0;
const NUM_BALLS=5000;
var buffers:Array=[];
var buf=0;
var loopCount:uint=0;
buffers[0]=new Sprite();
buffers[1]=new Sprite();
var bf0:DisplayObject;
var bf1:DisplayObject;
function initBalls()
{
for(i=0; i < NUM_BALLS; i++)
{
balls[i]=new Bitmap(imageData);
balls[i].x=Math.random()*stage.stageWidth;
balls[i].y=Math.random()*stage.stageHeight;
}
//addEventListener("enterFrame", myLoop);
}
var dx:Number;
function moveBalls()
{
for(i=0; i < NUM_BALLS; i++)
{
dx=Math.round(Math.random())==0?-1:1;
balls[i].x+=dx;
balls[i].y+=dx;
}
}
function renderBalls(s:Sprite)
{
for(i=0; i < NUM_BALLS; i++)
{
s.addChildAt(balls[i],i);
}
}
function drawBuffer()
{
buf_txt.text=buf;
// remove these following lines so buffer = always 0 increases running time from 7.5 secs to 22 secs
var btemp:DisplayObject=(buf==0)?bf0:bf1;
var btemp2:DisplayObject=(buf==1)?bf0:bf1;
btemp.visible=true;
btemp2.visible=false;
buf=(buf==0)?1:0;
}
function myLoop(e:Event)
{
moveBalls();
renderBalls(buffers[buf]);
drawBuffer();
loopCount++;
}
bf0=addChild(buffers[0]);
bf1=addChild(buffers[1]);
bf1.visible=false;
initBalls();
var startTime;
var endTime;
function myEnd(e:Event)
{
endTime=getTimer();
var tTime=endTime-startTime;
trace("end: " + tTime + " ("+loopCount+")");
}
var timer = new Timer(1000/60, 60)
timer.addEventListener(TimerEvent.TIMER, myLoop)
timer.addEventListener(TimerEvent.TIMER_COMPLETE,myEnd);
startTime=getTimer();
timer.start()
//addEventListener("enterFrame", myLoop);