Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pick random Element of an Array Actionscript 3

I have an array of movieclips and i want to put them on stage. so they have to be unique and randomly chosen.

how can I do that?

thank you for your time

like image 749
CMS Avatar asked Oct 27 '11 08:10

CMS


2 Answers

You can get a random number using Math.random() This will return a number between 0 and 1.

So, for getting a random element of the array, use this:

function getRandomElementOf(array:Array):Object {
    var idx:int=Math.floor(Math.random() * array.length);
    return array[idx];
}
like image 191
Pranav Hosangadi Avatar answered Oct 19 '22 09:10

Pranav Hosangadi


If you have an Array already, you should be able to define a random sort, then you can add them to the stage as needed.

//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 function
public function randomSort(objA:Object, objB:Object):int{
    return Math.round(Math.random() * 2) - 1;
}
like image 22
scunliffe Avatar answered Oct 19 '22 09:10

scunliffe