Copy link to clipboard
Copied
Hi,
I'm trying to make the timeline within a movie clip go to and stop on a random frame numer initiated with a button click.
I have a button called "testbtn" and a movieclip called "testmc"
I'm storing the frame numbers I want to be able to go to in an array and then picking a number from that array randomly, and then inserting that number into an "on-click" event.
The code I have is:
var _this = this;
this.frameA = [1, 2, 3, 4, 5];
var randomframe = Math.floor(Math.random() * this.frameA.length);
this.testbtn.on('click', function(){
_this.testmc.gotoAndStop(this.randomframe);
});
But it doesn't seem to work. Anyone know what I am doing wrong?
1 Correct answer
You're welcome!
You just have to move randomFrame into the event handler function and replace this.frameA.length by _this.frameA.length.
var _this = this;
this.frameA = [ 0, 1, 2, 3, 4 ];
this.testbtn.on('click', function ()
{
var randomframe = Math.floor(Math.random() * _this.frameA.length);
_this.testmc.gotoAndStop(randomframe);
});
Alternatively, you can create this same interactivity without using the array. You just need the totalFrames property of a MovieClip. Like this:
var _this
...
Copy link to clipboard
Copied
Thanks a lot.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Hi, kglad...
Would you like to give some fla file example about shuffle function?
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Hi, kglad.... your fla file works perfect !! Thats what all I need ...
Thanks a lot... you're the best.
Copy link to clipboard
Copied
you're welcome.


-
- 1
- 2