Search Tutorials
Step 2: Adding actionscript to a single buttonNow, seriously folks, you will still have to do a little work. The important thing is, you'll only do it once. As I've noted earlier, a single radio button can't do much by itself, but it must be able to communicate with a whole group of radio buttons. Most notably, it should be able to tell the whole group that it has been clicked on. So what we're going to do is create an interface that will allow us to do so. Select radioButton0 in the main timeline, go into the object actions panel and add this script: onClipEvent(load){
this.stop();
this.myName = Number(this._name.substring(11, 12));
}
onClipEvent(mouseDown){
if(this.hitTest(_root._xmouse, _root._ymouse)){
_parent.reportClick(this.myName);
}
}
All right, that's not too complicated, now is it. The first element in our script is the load clip event, which, as you remember, executes only once: when the clip is loaded. The first line in this event tells the clip to stop, so that it won't continually toggle between its on and off states. The second is admittedly more complicated. I think this dialog will better illustrate the point of this line: - Yo, hum, main clip? As you can see, the clip must communicate with the whole group of radio buttons in order to tell it that it has been clicked. Of course, it must know it's own name in order to do so. Preferably, it should also know its "number", that is, the position of the radio button from the top of the radio button group. So what the second line does here is that it first uses this._name, a property defined by default by Flash, in order to retrieve the name of the current clip. In this case, this would return "radioButton0". The important part of this string being the "0", we take a substring, or portion of the "radioButton0" string from the 11th to the 12th character; this will extract the last character, "0". This character is next converted to a number. The rest of the script is contained within a mouseDown clip event, which is executed every time the mouse is clicked. The first line in this event should be familiar to you if you've followed the second tutorial; it checks whether the mouse was over the clip when it was clicked. If so, it triggers a function in the parent of this clip, the group of radio buttons, in order to report to it that it has been clicked, passing along with it its radio button number. Simple enough, right? Now let's take a look at how we're going to handle multiple radio buttons.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|