I couldnt understand your exact requirement. From what i understood, if you are adding children on a movieclip with non-rectangular shape, you can use hitTestPoint() function of MovieClip.
For example, if you have 'child' movieclip that you intend to add on a non-rectangular 'parent' movieclip, you can use hitTestPoint to check if a point is within the shape of parent movieclip and then add it on that point.
Below code will add instances of 'Child' class which extends movieclip on 'parentMovieClip'. 'Child' is the linkage name of a movieclip in library whose instances you need to add on non-rectangular parent. 'parentMovieClip' is the instance name of the a movieclip which is on stage.
//storing bounds of parent that is added on stage
var bounds:Rectangle = parentMovieClip.getBounds(parentMovieClip.stage);
//these are the x and y gap you need between each child
var xIncr:int = 5;
var yIncr:int = 5;
//Traverse through the rectangular bound, and check what points actually comes within the shape
for(var xPos=bounds.x; xPos <= bounds.x+bounds.width; xPos += xIncr)
{
for(var yPos=bounds.y; yPos <= bounds.y+bounds.height; yPos += yIncr)
{
//check if the point is inside the parent's shape
var isInsideShape:Boolean = parentMovieClip.hitTestPoint(xPos,yPos,true);
if(isInsideShape)
{
//if point is indise the shape add an instance of 'Child'
var oChild:Child = new Child();
//we are adding oChild on stage
//since adding on parentMovieClip will increase its bound if oChild goes outside parentMovieClip
stage.addChild(oChild);
oChild.x = xPos;
oChild.y = yPos;
}
}
}
I might be able to give you exact solution if you elaborate your requirement a bit more, by giving some code sample.