ActionScript 3.0 Design Patterns

(Chris Devlin) #1

192 | Chapter 5: Adapter Pattern


right, and up arrow key down events, and calls turnMoreToTheLeft( ),


turnMoreToTheRight( ), andgoStraight( ) methods implemented in the adapter.


Example 5-12. Main.as (document class)


package
{
import flash.display.MovieClip;
import flash.text.;
import flash.events.
;
import flash.ui.*;


public class Main extends MovieClip
{
private var carAdapter:ICar; // declare adapter


public function Main( )
{
// Create a legacy car instance
var legacyCar:LegacyCar =
new LegacyCar(this.stage.stageWidth 0.5,
this.stage.stageHeight
0.75);
addChild(legacyCar); // add legacy car to stage display list


// Wrap legacy car with the CarAdapter
this.carAdapter = new CarAdapter(legacyCar);


// attach KEY_DOWN event listener onKeyPress( ) to the stage
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,
this.onKeyPress);


carAdapter.start( );
}


private function onKeyPress(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.LEFT :
this.carAdapter.turnMoreToTheLeft( );
break;
case Keyboard.RIGHT :
this.carAdapter.turnMoreToTheRight( );
break;
case Keyboard.UP :
this.carAdapter.goStraight( );
break;
}
}
}
}

Free download pdf