Disable all buttons in flash or disable 1 button in flash
Recently I needed to disable all buttons on my flash site. I trawled the net looking for answers but all I got was what I already knew. Which is disabling each button 1 by 1 using an array like so:
//an array of button instance names var buttonInstanceNames:Array = new Array("button1","button2", "button3", "button4"); //function that sets the buttons enabled state function enableButtons(e){ for(var i=0;i<buttons.length;i++){> this[buttonInstanceNames[i]].enabled = e; } } //call function and assign enabled state enableButtons(false);
This is all good if you have a few buttons but what if your site is complex like the 1 I was working on and you wanted to disable all button interactivity without knowing buttons instance names.
Solution
Basically place a movie clip button over the entire movie or just over the area where your buttons are with _alpha set to 0. Remember to set the movie clip with a onRollOver, or onRelease event. Just set the blocking movie clip's _visible state to false when you want interactivity back.
Here is the code I used to get this working.
//The instance name of my blocker movieclip is "mcBlocker" //show or hide the button blocker function enableButtons(e){ mcBlocker._visible = e; mcBlocker.onRollOver = doNothing; } //do nothing when the blocker active function doNothing(){} //just enable or disable the blocker enableButtons(false);
Hope this helps..
Plurk This Post
Buzz This Post
Delicious
Digg This Post
Ping This Post
Reddit
Stumble This Post
