вот:

Код AS3:
package {
import flash.display.Sprite;
public class Main extends Sprite
{
public static const H_SPACE:Number = 1; //промежуток между объектами по горизонтали
public static const V_SPACE:Number = 1; //промежуток между объектами по вертикали
public static const NUM_OF_H_SPRITE:Number = 10; //кол-во объектов по горизонтали
public static const NUM_OF_V_SPRITE:Number = 10; //кол-во объектов по вертикали
public static const SORT_MODE:Number = 1 // 0 or 1; 1 = horizontall sort, 0 = verticall sort
public function Main()
{
var spriteArray:Array = [];
var countOfSprite:uint = 30;
var sprite:Sprite;
var i:uint = 0;
//Create sprite
for (i; i<countOfSprite; i++)
{
sprite = new Sprite();
sprite.graphics.beginFill(0);
sprite.graphics.drawRect(0, 0, 10, 5);
sprite.graphics.endFill();
spriteArray.push(sprite);
}
i = 0;
for(i; i<countOfSprite; i++)
{
sprite = spriteArray[i] as Sprite;
if(SORT_MODE)
{
sprite.x = i % NUM_OF_H_SPRITE * (sprite.width + H_SPACE);
sprite.y = Math.floor(i/NUM_OF_H_SPRITE) * (sprite.height + V_SPACE);
}else{
sprite.x = Math.floor(i/NUM_OF_V_SPRITE) * (sprite.width + H_SPACE);
sprite.y = i % NUM_OF_V_SPRITE * (sprite.height + V_SPACE);
}
addChild(sprite);
}
}
}
}
P.S. может есть более лучший способ сортировать по сетке объекты, с радостью бы увидил...