The Actionscript 2 File
Subfunctions
Now it is time to write the actual button functions, which are a mixture of expressions from AS1 and those new in AS2. Let´s look at the first subfunction "onOver(m_Object,c_nColor);". What do we want to achieve? We want to change the color of the button, when the mouse goes over. What do we need? We need to create a color object, for which we have already the var "o_Color: Object;". Then we need to define the button for the rollover, which is "var m_Object: MovieClip;". And we need a var to hold the color code, which is "var c_nColor: Color;". As you can see we have to define exactly what type of variable we want to use. If we associate the wrong type, we will get an error message. Also, once the var is of a certain type we cannot change the type. Why do we want to in the first hand?
class scripts.uButton1 {
//defining all variables
var s_Url: String;
var s_Window: String;
var m_Object: MovieClip;
var c_nColor: Color;
var c_oColor: Color;
var o_Color: Object;
//creating the constructor
public function uButton1(s_Url,s_Window,m_Object,c_nColor,c_oColor) {
//subfunctions with parameters
onOver(m_Object,c_nColor);
onPrss(s_Url,s_Window,m_Object);
onOut(m_Object,c_oColor);
}
private function onOver(m_Object,cnColor,oColor):Void {
c_nColor = cnColor;
o_Color = oColor;
m_Object.onRollOver = function(){
oColor = new Color(this);
oColor.setRGB(cnColor);
}
}
}
We make the function "onOver" private, because we want to allow access only from this class. And now there is something very important.
I want you to focus on the 3 parameters. While "m_Object" is still the same parameter/var as we defined it originally, the other parameters have different names:
"cnColor" and "oColor". However, we fill them with the var values we have defined originally. Why do we have to do this treatment
for the different var? The reason is that if we don´t redefine the variables, which are used within the rollOver function. They will be classified as
"undefined". Only "m_Object" is ok because it is used within the "onOver" function. So if we pass on a var from the constructor to a
function, which is then used within another subfunction we have to redefine or recall the var. Play around with the code and see what the error
messages are. Otherwise the script is like any other actionscript you already know. We create an instance of the color object and name it "oColor"
with the property "Object". Then we create a new color. Check out the whole script on the next page.
| » Level Intermediate |
|
Added: 2003-10-30 Rating: 5.91 Votes: 56 |
| » Author |
| The author is a basic scientist working in cancer research. |
| » Download |
| Download the files used in this tutorial. |
| Download (25 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!