Vous pouvez obtenir un nombre aléatoire à l'aide de Math.random() Cela renvoie un nombre entre 0 et 1.
Donc, pour l'obtention d'un élément aléatoire du tableau, utilisez ceci:
function getRandomElementOf(array:Array):Object{var idx:int=Math.floor(Math.random()* array.length);return array[idx];}
salut, merci pour la réponse, mais comment puis-je les mettre sur le satge? j'ai essayé avec la méthode addChild(tableau[idx]), mais ne fonctionne pas; stage.addChild(getRandomElementOf(movieClipArray)); ou stage.addElement(getRandomElementOf(movieClipArray)); Vous aurez besoin d'avoir déjà mis la x et y propriétés de la movieclips avant d'ajouter (ou vous pouvez même le faire après l'ajout d') j'ai essayé les deux, mais rien ne se passe j'ai le x et y de la de mc var min_x:Nombre = stade.x - 2 * (breite / 4) - 50; var max_x:Nombre = stade.x - (breite / 4) - 50; var mid_x:Nombre = stade.x - 50; var min_y:Number = 0; var max_y:Nombre = der höhe / 2; var mid_y:Nombre = der höhe; var n:uint = tableau1.length; for (var i:uint = 0; i < n; i++) { var mc:MovieClip = tableau1[i]; mc.x = Math.round(Math.random() * (max_x - min_x) + min_x); mc.y = Math.round(Math.random() * (max_y - min_y) + min_y); }
Si vous avez un Array déjà, vous devriez être en mesure de définir un hasard sorte, alors vous pouvez les ajouter à la scène en tant que de besoin.
//get your array as needed...var myArray:Array= getYourMovieClipsArray();//randomize it by "sorting" it...
myArray.sort(randomSort);//do something with them...for(var i:int=0;i<myArray.length;i++){
addChild(myArray[i]);}//sorting functionpublicfunction randomSort(objA:Object, objB:Object):int{returnMath.round(Math.random()*2)-1;}
pourquoi trier et réorganiser tableau lorsque vous pouvez juste obtenir un aléatoire index ? Je suppose que les commentaire à propos de "unique" dans le cas des OP question a indiqué qu'il souhaitait s'assurer que les clips n'ont pas été retiré à plusieurs reprises. Si vous le souhaitez, vous pouvez créer un tableau d'indices de faire correspondre le clip de tableau... randomiser le tableau des indices... puis arracher à partir de la liste aléatoire de 1 à un moment jusqu'à la fin pour s'assurer qu'aucun des doublons. oui, vous avez raison!
Vous pouvez obtenir un nombre aléatoire à l'aide de
Math.random()
Cela renvoie un nombre entre 0 et 1.Donc, pour l'obtention d'un élément aléatoire du tableau, utilisez ceci:
stage.addChild(getRandomElementOf(movieClipArray));
oustage.addElement(getRandomElementOf(movieClipArray));
Vous aurez besoin d'avoir déjà mis la
x
ety
propriétés de la movieclips avant d'ajouter (ou vous pouvez même le faire après l'ajout d')j'ai essayé les deux, mais rien ne se passe
j'ai le x et y de la de mc var min_x:Nombre = stade.x - 2 * (breite / 4) - 50; var max_x:Nombre = stade.x - (breite / 4) - 50; var mid_x:Nombre = stade.x - 50; var min_y:Number = 0; var max_y:Nombre = der höhe / 2; var mid_y:Nombre = der höhe; var n:uint = tableau1.length; for (var i:uint = 0; i < n; i++) { var mc:MovieClip = tableau1[i]; mc.x = Math.round(Math.random() * (max_x - min_x) + min_x); mc.y = Math.round(Math.random() * (max_y - min_y) + min_y); }
OriginalL'auteur Pranav Hosangadi
Si vous avez un
Array
déjà, vous devriez être en mesure de définir un hasard sorte, alors vous pouvez les ajouter à la scène en tant que de besoin.Je suppose que les commentaire à propos de "unique" dans le cas des OP question a indiqué qu'il souhaitait s'assurer que les clips n'ont pas été retiré à plusieurs reprises. Si vous le souhaitez, vous pouvez créer un tableau d'indices de faire correspondre le clip de tableau... randomiser le tableau des indices... puis arracher à partir de la liste aléatoire de 1 à un moment jusqu'à la fin pour s'assurer qu'aucun des doublons.
oui, vous avez raison!
OriginalL'auteur scunliffe