тяжело с принципами что-то, на вот беспринципный пример:

Код:
MovieClip.prototype.getHexagon=function(r){
var h=this.createEmptyMovieClip('h',this.getNextHighestDepth());
h.lineStyle(0);
h.beginFill(0xCCCCCC);
h.moveTo(r*Math.cos(Math.PI/6),r*Math.sin(Math.PI/6));
for(var i=6;i--;){
var fi=Math.PI/6+i*Math.PI/3
h.lineTo(r*Math.cos(fi),r*Math.sin(fi));
}
return h;
}
var r=30,nx=5, ny=4, rv=r*Math.sin(Math.PI/3), rh=r*(1+Math.cos(Math.PI/3));
for(var i=0;i<nx;i++){
cells[i]=[];
for(var j=0;j<ny;j++){
var h=this.getHexagon(r);
h._x=rv*(1+i*2+j%2);
h._y=r+j*rh;
h.xi=i;
h.yi=j;
h.onRelease=function(){
trace('x: '+this.xi+'; y: '+this.yi);
}
}
}