2010-08-26 70 views
0

我仍然是一个新手闪光....仍然试图学习AS3 atm如何随机创建一个模式而不重叠?闪光AS3

我得到了一些不同形状的电影剪辑,我想从这些电影剪辑做出一个模式。我已经用Math.random函数为这些影片剪辑分配了xy坐标。然而,形状总是重叠,我能做些什么来避免它?有人建议我可以在随机化后将剪辑添加到列表中,然后定义其他影片剪辑无法放置的区域。但是,如何在AS3中定义该区域?我试图做hitTest,但我不太确定如果它发现了一个命中,我应该怎么做,因为它有可能会击中另一个形状。希望你们能帮助我一下!非常感谢!

回答

0

这是只有2形状的功能的基本verison,你可以通过创建图形数组和循环找到,如果每一个新的形状击中了任何其他

var shape1:Shape1 = new Shape1(); 
shape1.x = 0; 
shape1.y = 0; 
addChild(shape1); 

var shape2:Shape1 = new Shape1(); 
shape2.x = 0; 
shape2.y = 0; 
addChild(shape2); 

while(shape1.hitTestObject(shape2)) 
{ 
    shape2.x = Math.random() * stage.stageWidth; 
    shape2.y = Math.random() * stage.stageHeight; 
}
扩展它