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;
}
}
}
}