我需要在特定区域添加许多孩子(addChild())。该区域的形状不规则(图)。我注意到,如果我想在我的图形中添加许多孩子,Flash 会创建代表我的图形的矩形,而我的一些孩子会离开图形但进入这个矩形。我想到了制作许多小矩形来覆盖我的非规则图形并使用数组将所有孩子分布到这些小矩形中。这是正确的方法吗?我会欣赏一些想法。谢谢
//------------------------------------------------ ----------------------------
function randomRange(max:Number, min:Number = 0):Number
{
return Math.random() * (max - min) + min;
}
public function Main()
{
var bounds:Rectangle = Area_mc.getBounds(Area_mc.stage);
var xIncr:int = randomRange(15,320);
var yIncr:int = randomRange(15,220);
for (var xPos=bounds.x; xPos <= bounds.x + bounds.width; xPos += xIncr)
{
for (var yPos=bounds.y; yPos <= bounds.y + bounds.height; yPos += yIncr)
{
var isInsideShape:Boolean = Area_mc.hitTestPoint(xPos,yPos,true);
if (isInsideShape)
{
//trace(isInsideShape);
stage.addChild(_symbol);
_symbol.x = xPos;
_symbol.y = yPos;
}
}
}
}
好的,我有随机的 X 和 Y,但孩子总是在容器的右侧!:)