1

私は最近、actionscript 3を試してみましたが、障害に遭遇しました。キューブ(cube1)を断続的にレンダリングするにはどうすればよいですか?スタッガードローディング。キューブが互いに一瞬だけロードする必要があります。

以下は私がこれまでに持っているものの抜粋です:

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

1 に答える 1

2
//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;
}
于 2010-06-14T13:49:19.330 に答える