2010-08-26 3 views
0

Je suis encore un débutant à clignoter .... toujours essayer d'apprendre AS3 atmComment créer un motif de manière aléatoire sans chevauchement? Flash AS3

J'ai obtenu quelques clips avec des formes différentes et je voudrais faire un modèle de ces clips. J'ai assigné les coordonnées x y de ces clips avec la fonction Math.random. Cependant, les formes se chevauchent tout le temps, que puis-je faire pour l'éviter? Quelqu'un a suggéré que je pourrais ajouter les clips à une liste après avoir été randomisé, puis définir la zone qui ne pourrait pas être placée par les autres clips. Cependant, comment puis-je définir cette zone dans AS3? J'ai essayé de faire le hitTest, mais je ne suis pas sûr de savoir ce que je devrais faire s'il a détecté un hit, car il y a une probabilité pour qu'il atteigne une autre forme. J'espère que les gars pourraient m'aider un peu! Merci beaucoup!

Répondre

0

Ceci est une verison de base de la fonctionnalité avec seulement deux formes, vous pouvez l'étendre en créant un éventail de formes et de boucles pour trouver si chaque forme nouvelle frappe tout autre

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; 
}
Questions connexes