function draw(width, height, lines, columns, ldelay, cdelay) { lineupParams = []; partParams = []; partCount = 0; var h = Math.round(height / lines); var w = Math.round(width / columns); for (var i = 0; i < lines; i++) { //trace('#invokeAt(' + ((1 + i) * ldelay) + ')'); //trace('invoking later: lineup()'); var y = i * h; var p = { index: new Number(i), y: Number(new Number(y).toString()), w: Number(new Number(w).toString()), h: Number(new Number(h).toString()), columns: Number(new Number(columns).toString()), delay: Number(new Number(cdelay).toString()) }; var id = setInterval(lineup, (1 + i) * ldelay, p); lineupParams.push(id); } } function lineup(p) { var id = lineupParams.shift(); clearInterval(id); for (var j = 0; j < p.columns; j++) { //trace('#' + p.index + ': invokeAt(' + ((1 + j) * p.delay) + ')'); var x = j * p.w; var y = p.y; var w = p.w; var h = p.h; trace('invoking later: part(' + x + ', ' + p.y + ', ' + p.w + ', ' + p.h + ')'); var params = { x: Number(new Number(x).toString()), y: Number(new Number(y).toString()), w: Number(new Number(p.w).toString()), h: Number(new Number(p.h).toString()) }; var id = setInterval(part, (1 + j) * p.delay, params); partParams.push(id); } } function part(p) { var id = partParams.shift(); clearInterval(id); trace('part(' + p.x + ', ' + p.y + ', ' + p.w + ', ' + p.h + ')'); var part = attachMovie('Part', 'part' + partCount, partCount); part._x = p.x; part._y = p.y; part._width = p.w; part._height = p.h; part.play(); partCount ++; updateAfterEvent(); }