// jumlah kolom dan jumlah baris ditentukan, hasilnya grid penuh
//buat mc dengan class "Kotak" di library
//alternatif 1: simpel if
var gridContainer:MovieClip;
function buatGrid(jlhKol:int, jlhBar:int)
{
gridContainer = new MovieClip();
addChild(gridContainer);
var i:int = 0;
var jlhItem:uint = jlhKol * jlhBar;
var kol:int = 0;
var bar:int = 0;
var jarak:int = 2;
for (i; i < jlhItem; i++)
{
var mc:Kotak = new Kotak();
mc.x = kol * (mc.width+jarak);
mc.y = bar * (mc.height+jarak);
kol++;
gridContainer.addChild(mc);
if (kol >= jlhKol)
{
kol = 0;
bar++;
}
}
}
//grid 6x6
buatGrid(6, 6);
///////////////////////////////////////////////////////////
//alternatif 2: nested loops
var gridContainer:MovieClip;
function buatGrid(jlhKol:int,jlhBar:int)
{
gridContainer = new MovieClip();
addChild(gridContainer);
for (var i:int = 0; i<jlhBar; i++)
{
for (var j:int = 0; j<jlhKol; j++)
{
var mc:Kotak = new Kotak();
mc.x = left + mc.width * j;
mc.y = top + mc.height * i;
gridContainer.addChild(mc);
}
}
}
//grid 6x6
buatGrid(6,6);
///////////////////////////////////////////////////////////
//alternatif 3: modulo
var jarak:int = 10;//jarak antar grid
var gridContainer:MovieClip;
function buatGrid(jlhKol:int, jlhBar:int)
{
gridContainer = new MovieClip();
addChild(gridContainer);
var jlhItem:int = jlhKol * jlhBar;
var i:int = 0;
for (i; i < jlhItem; i++)
{
var mc:Kotak = new Kotak();
mc.x = (i % jlhKol) * (mc.width + jarak);
mc.y = Math.floor(i / jlhKol) * (mc.height + jarak);
gridContainer.addChild(mc);
}
}
//grid 6x6
buatGrid(6,6);
//jika jumlah item dan jumlah kolom ditentukan maka hasilnya grid tidak mesti penuh kolomnya
var margin:int = 10;
function buatGrid(jlhItem:int, jlhKol:int)
{
for (var i:int = 0; i < jlhItem; i++)
{
var mc:Kotak = new Kotak();
mc.x = (i % jlhKol) * (mc.width + margin);
mc.y = Math.floor(i / jlhKol) * (mc.height + margin);
gridContainer.addChild(mc);
}
}
//membuat grid 16 item dengan 6 kolom
buatGrid(16,6)