Adding Scripts to Buttons

We add code to a button in order to tie the execution of that code to a user event. For example, if we want the clicking of a button to advance the playhead of a movie to a frame labeled section1, we add the following code to that button:

on (release) {
  gotoAndStop("section1");
}

To add code to a button, we select the button on the Stage and then add the code to the Script pane of the Actions panel. Code on buttons must always be placed in an event handler that identifies the circumstances under which the code should execute. For example, the event that triggers most button actions is release. We might also use the rollOver event, causing code to execute when the mouse moves over the button, not when the button is pressed:

on (rollOver) {
  gotoAndStop("section1");
}

For a complete description of button event handlers see Chapter 10.

Though it is legal to place thousands of lines of code on a button, it’s often a bad idea to overload a button with code. Whenever possible, generalize and package the behavior of button code into functions attached to the button’s timeline. For example, we could add the following code to a button:

on (release) {
  title._xscale = 20;
  title._yscale = 20;
  title._alpha  = 50;
  title._gotoAndPlay("fadeout");
}

But we’re better off placing that code in a function and calling the function from the button:

               
// CODE ON FRAME 1 OF THE BUTTON'S TIMELINE function transformClip(clip, scale, transparency, framelabel) { clip._xscale = scale; clip._yscale ...

Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.