<< Chapter < Page Chapter >> Page >

Purpose of the class

The purpose of this class is to define the characteristics of an object that will serve as a driver to exercise and to illustrate the behavior of objects ofthe following custom classes:

  • ButterflyButton
  • FrogButton
  • FancyButton

Inheritance in action

Note that this class extends the standard Flex/ActionScript class named HBox . Thus, an object of the Driver class inherits all of the characteristics defined into the HBox class and adds more characteristics that are unique to an object of the Driver class.

For example, one of the important characteristics inherited from the HBox class is the ability to arrange child components horizontally as shown in Figure 2.

Instantiate custom button objects

Listing 2 instantiates objects of the three custom classes listed above and stores references to those objects in private instance variables with the following names:

  • bFlyButton
  • frogButton
  • fancyButton

Storing the references as private instance variables makes them accessible to the constructor and to methods defined within the Driver class, but makes them inaccessible otherwise.

The constructor for the Driver class

Listing 3 defines the constructor for the Driver class.

The constructor for the driver class.

public function Driver(){//constructor addChild(bFlyButton);addChild(frogButton); addChild(fancyButton);fancyButton.addEventListener(MouseEvent.CLICK,buttonHandler); }//end constructor

Listing 3 begins by adding the three objects instantiated in Listing 2 to the object being constructed, which is possible because an object of the Driver class is an HBox container. (See the earlier section titled The ISA relationship .)

Then Listing 3 registers a click event handler method named buttonHandler on the FancyButton object.

The method named buttonHandler

The click event handler method named buttonHandler is shown in Listing 4.

The method named buttonhandler .

private function buttonHandler( event:MouseEvent):void{fancyButton.toggleSkin(); }//end buttonHandler}//end class }//end package

This method is executed each time the FancyButton object fires a click event. When the method is executed, it calls the toggleSkin method on the FancyButton object. As you will see later, the toggleSkin method causes the FancyButton object to toggle its skins between butterfly images and frog images.

The end of the Driver class

Listing 4 also signals the end of the class named Driver .

The file named FancyButton.as

The FancyButton class begins in Listing 5. A complete listing of the class file is provided in Listing 10 near the end of the lesson.

Define a custom button using skins

This class defines a custom button using skins. When the program starts, frog images are used to define the button's skins as shown by the rightmost button inFigure 2. Each time the toggleSkin method is called, the skin switches between frog images and butterfly images.

Beginning of the fancybutton class.

package CustomClasses{ import mx.controls.Button;public class FancyButton extends Button{[Embed("/Images/frogup.jpg")] private var frogUp:Class;[Embed("/Images/frogover.jpg")] private var frogOver:Class;[Embed("/Images/frogdown.jpg")]private var frogDown:Class;[Embed("/Images/frogdisabled.jpg")] private var frogDisabled:Class;[Embed("/Images/bflyup.jpg")]private var bFlyUp:Class;[Embed("/Images/bflyover.jpg")] private var bFlyOver:Class;[Embed("/Images/bflydown.jpg")]private var bFlyDown:Class;[Embed("/Images/bflydisabled.jpg")] private var bFlyDisabled:Class;

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with actionscript. OpenStax CNX. Jun 04, 2010 Download for free at http://cnx.org/content/col11202/1.19
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with actionscript' conversation and receive update notifications?

Ask