Calling & running a random function from an array

Hi,
I’ve seen similar threads on here but nothing quite works for me, so sorry if this has been previously answered.

I’m creating buttons dynamically in functions, and I want to load them ALL in randomly as you enter the frame.

Let’s say I’ve made an array, and it looks like this:
ActionScript Code:
[LEFT][COLOR=#000000]var[/COLOR] ButtonsArray:[COLOR=#0000FF]Array[/COLOR] = [COLOR=#000000]new[/COLOR] [COLOR=#0000FF]Array[/COLOR] COLOR=#000000[/COLOR];

ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR] = ZeroButton;
ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000]][/COLOR] = FirstButton;
ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]2[/COLOR][COLOR=#000000]][/COLOR] = SecondButton;
ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]3[/COLOR][COLOR=#000000]][/COLOR] = ThirdButton;
ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]4[/COLOR][COLOR=#000000]][/COLOR] = FourthButton;
ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#000080]5[/COLOR][COLOR=#000000]][/COLOR] = FifthButton;
[/LEFT]

Where each of the array properties is a function, eg. ZeroButton(); which calls the function creating the button.

I can get the code running if I try to call one random function from it, for example:

ActionScript Code:
[LEFT][COLOR=#000000]**var**[/COLOR] randomSection = ButtonsArray[COLOR=#000000][[/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]random[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR]*ButtonsArray.[COLOR=#0000FF]length[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];

[/LEFT]

But does anyone have any suggestions as to how I run all the functions from the array at once, just in a random order? OnEnterFrame in some way?

I tried using this code, but it didn’t work as I hoped:

ActionScript Code:
[LEFT]n = [COLOR=#000080]6[/COLOR];

[COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#000000]var[/COLOR] i:[COLOR=#0000FF]Number[/COLOR] = [COLOR=#000080]0[/COLOR]; i < n; i++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#000000]var[/COLOR] randomSelection = [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]random[/COLOR]COLOR=#000000[/COLOR] * ButtonsArray.[COLOR=#0000FF]length[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000])[/COLOR];
[COLOR=#0000FF]trace[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]"Random selection is "[/COLOR] + randomSelection[COLOR=#000000])[/COLOR];
[COLOR=#0000FF]trace[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]"Corresponding Array value is "[/COLOR] + ButtonsArray[COLOR=#000000][[/COLOR]randomSelection[COLOR=#000000]][/COLOR][COLOR=#000000])[/COLOR];
buttonsArray.[COLOR=#0000FF]splice[/COLOR][COLOR=#000000]([/COLOR]randomSelection, [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR]COLOR=#000000[/COLOR];
[/LEFT]

The trace clearly tells me the array has been sorted, but it also says the “Corresponding Array value is [type Function]” - does that mean it didn’t get called to run?

I’m not sure I understand arrays enough here…

Can anyone help, or give pointers to any helpful documentation?

Thanks in advance :slight_smile: