以下は、オブジェクトがステージに追加され、新しく追加されたオブジェクトが以前のオブジェクトとオーバーラップしているかどうかを確認するためのコードです。問題は、プレーヤーが移動しているときに、ランダムなオブジェクトが常に生成されるため、ステージ上のオブジェクトがランダムに移動することです。これは、エンター フレーム タイマーで呼び出されます。
if(onStageCount < 15){
var Square:MovieClip;
Square = new mcSquare();
Square.x = Math.random() * 1000 + ((Math.abs(_boundaries.x) + (stage.stageWidth)));
Square.y = Math.random() * stage.stageHeight/2.5 + (stage.stageHeight/2.5);
ObjectArray.push(Square);
onStageCount += 1;
}
for (var i in ObjectArray){
for (var a in ObjectArray){
if(ObjectArray[i].hitTestObject(ObjectArray[a]) && a != i){ChildrenColliding = true;}
while(ChildrenColliding){
ObjectArray[i].x += (ObjectArray[a].width + 75);
ObjectArray[i].y += (ObjectArray[a].height + 40);
ChildrenColliding = false;
if(ObjectArray[a].hitTestObject(ObjectArray[i]) && a != i){ChildrenColliding = true;}
}
}
_boundaries.addChild(ObjectArray[i]);
}