First time here? First time here? Newsletter Signup Newsletter
Search tutorials
Author: Joachim Schnier | Website: http://can_info_guide.tripod.com/

The Actionscript 2 File


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
	private function onOver(m_Object,cnColor,oColor):Void {
		c_nColor = cnColor;
		o_Color = oColor;
		m_Object.onRollOver = function(){
			oColor = new Color(this);

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: 4.8 Votes: 74
(10 being the highest)
» Author
The author is a basic scientist working in cancer research.
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!


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

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: Inocreato
» Title: RaiseTheBlocks
» Description: Raise all the blocks to win the game
Featured Sound Loops
Image for equalize

Audio Player

» Author: TomCat Carty
» Title: The Wood
» Description: Just a little game ending or it can maybe be looped. Recorders with music box and percussion to give the feel of well, I don't know, the woods? Free to use, just credit me. thank you
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: Davisigner
» Description: Hmm... what to say about this one? It's reminiscent of the closing notes of the opening music from the Three Stooges done in a church organ style with a closing cymbal crash. I'll give this one away gratis, but feel free to check out my free loops and potential upcoming license-mandated ones over in the respective part of Flashkit.