<< Chapter < Page Chapter >> Page >
Listing

Driver class for effects03.

/*This is an ActionScript version of a program that is similar to the sample MXML program in the documentationfor the Effect class at: http://livedocs.adobe.com/flex/3/langref/mx/effects/Effect.html. However, several changes were made to the behavior of the program to make it more suitable for theinstructional purpose. */package CustomClasses{ import flash.events.MouseEvent;import mx.containers.ControlBar; import mx.containers.Panel;import mx.controls.Button; import mx.controls.Image;import mx.controls.TextArea; import mx.effects.Resize;import mx.events.EffectEvent; import mx.events.FlexEvent;public class Driver extends Panel{ //Instantiate and save references to all of the// objects needed by the program. private var resize:Resize = new Resize();private var textOut:TextArea = new TextArea(); private var image:Image = new Image();private var bar:ControlBar = new ControlBar(); private var startButton:Button = new Button();private var pauseButton:Button = new Button(); private var resumeButton:Button = new Button();private var reverseButton:Button = new Button(); private var endButton:Button = new Button();private var resetButton:Button = new Button(); //--------------------------------------------------//public function Driver(){//constructorthis.title="Demonstration of the Resize effect."; this.percentWidth = 100;this.percentHeight = 100; this.addEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);//Set textOut properties and add to the panel. textOut.percentWidth = 100;//percenttextOut.height = 100;//pixels textOut.setStyle("color","0x0000FF");textOut.setStyle("fontSize",14); textOut.text = "Use the Buttons to control "+ "the size of the image."; addChild(textOut);//Prepare an embedded image and add the Image// object to the panel. [Embed("/Images/snowscene.jpg")]var img:Class; image.load(img);addChild(image);//Add the button bar to the panel. addChild(bar);//Set text on the six buttons.startButton.label = "Start"; pauseButton.label = "Pause";resumeButton.label = "Resume"; reverseButton.label = "Reverse";endButton.label = "End"; resetButton.label = "Reset";//Register a click listener on each buttonstartButton.addEventListener( MouseEvent.CLICK,btnHandler);pauseButton.addEventListener( MouseEvent.CLICK,btnHandler);resumeButton.addEventListener( MouseEvent.CLICK,btnHandler);reverseButton.addEventListener( MouseEvent.CLICK,btnHandler);endButton.addEventListener( MouseEvent.CLICK,btnHandler);resetButton.addEventListener( MouseEvent.CLICK,btnHandler);//Add the six buttons to the button bar bar.addChild(startButton);bar.addChild(pauseButton); bar.addChild(resumeButton);bar.addChild(reverseButton); bar.addChild(endButton);bar.addChild(resetButton);//Configure the Resize effect. Note that the // original size of the image is 240x240.resize.target = image; resize.widthTo = 60;resize.heightTo = 60; resize.duration = 10000;resize.addEventListener( EffectEvent.EFFECT_END,endEffectHandler);resize.addEventListener( EffectEvent.EFFECT_START,startEffectHandler);} //end constructor //--------------------------------------------------////This common button handler is used to service click// event on all six of the buttons. private function btnHandler(event:MouseEvent):void{if (event.target == startButton) { resize.play();//start the effectstartButton.enabled = false; }else if(event.target == pauseButton){resize.pause();//pause the effect }else if(event.target == resumeButton){resize.resume();//resume the effect after a pause }else if(event.target == reverseButton){resize.reverse();//reverse the effect }else if(event.target == endButton){resize.end();//end the effect prematurely }else{//reset the program to starting conditionsresize.end(); image.width=240;image.height=240; startButton.enabled=true;} //end else} //end btnHandler //--------------------------------------------------////This event handler method is executed when the// effect ends. private function endEffectHandler(event:EffectEvent):void{ textOut.text += "\nEffect Ended!";} //end event handler //--------------------------------------------------////This event handler method is executed when the// effect starts private function startEffectHandler(event:EffectEvent):void{ textOut.text += "\nEffect Started!";} //end event handler //--------------------------------------------------////This event handler method is executed when the // application dispatches a creationComplete event.private function creationCompleteHandler( event:FlexEvent):void{textOut.text += "\nCreation Complete!"; } //end event handler//--------------------------------------------------//} //end class } //end package

Miscellaneous

This section contains a variety of miscellaneous materials.

Housekeeping material
  • Module name: Digging Deeper into ActionScript Events
  • Files:
    • ActionScript0114\ActionScript0114.htm
    • ActionScript0114\Connexions\ActionScriptXhtml0114.htm
PDF disclaimer: Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

-end-

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