views:

29

answers:

1

Hi guys, I've just recently tried my hand at actionscript 3 and have come across a road block. How do I go about rendering the cubes (cube1) intermittently, ie. staggered loading. I need the cubes to load a split second from each other.

Below is a snippet of what I have so far:

var rows:int = 5;
var cols:int = 3;
var spacery:int = 100;
var spacerx:int = 120;
var box_count:int = 8;

for(var i:int; i < box_count; i++)   {                                              
    cube1 = new Cube(ml,100,10,80,1,1,1);               
    cube1.y = ((i % rows)) * (cube1.x + spacery);
    cube1.x = Math.floor(i/rows) * (cube1.x +spacerx);
    cube1.z = 0;

    bigBox.addChild(cube1); 
}
+2  A: 
//Create an array out side the function; as a global (instance) variable:
var cubes:Array = [];

//instead of bigBox.addChild(cube1), store them in the array:
cubes.push(cube1);

//initialize a timer outside after for loop
//Fire every 100 milliseconds, box_count times
var timer:Timer = new Timer(100, box_count);
timer.addEventListener(TimerEvent.TIMER, onTick);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTickDone);

function onTick(e:Event):void
{
  bigBox.addChild(cubes[timer.currentCount]);
}
function onTickDone(e:Event):void
{
  cubes = null;
  timer.removeEventListener(TimerEvent.TIMER, onTick);
  timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTickDone);
  timer = null;
}
Amarghosh