Предположим, что у каждого бокса есть свой класс, для того чтобы создать свой вид, вам понадобятся несколько параметров, таких как:
- количество столбцов
- по горизонтали и вертикализаполнение между каждой меткой.
Если ваши метки хранятся в векторе или массиве, вы затем выполните итерацию по всем, что содержит ваши метки, чтобы разместить их на сцене.
Идея здесь заключается в том, чтобы оставаться максимально гибкой, поэтому независимо от того, какую функцию вы используете для размещения меток, рекомендуется сохранить параметры, упомянутые выше, в качестве переменных.
Типичное использование:
private function createGrid
( numColumns:int , hPadding:int , vPadding:int ):void
{
var xPos:int;
var yPos:int;
for( var i:int ; i < labels.length ; ++i )
{
var label:YourLabel = labels[i];
if( i % numColumns == 0 && i > 0 )
{
//reset the x position & increment the y position
//in order to move to the next line
xPos = 0;
yPos += vPadding;
}else if( i > 0) {
xPos += hPadding; //increment the x position
}
label.x = xPos;
label.y = yPos;
addChild( label );
}
}
Конечно, вы можете изменить это многими способами, скажем, что вы хотите учесть размеры меток или создать некоторую анимацию для размещения меток на сцене, вы бы по-другому справились с этой функцией ...