10.12.2012 Views

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ight, and up arrow key down events, and calls turnMoreToTheLeft( ),<br />

turnMoreToTheRight( ), and goStraight( ) methods implemented in the adapter.<br />

Example 5-12. Main.as (document class)<br />

package<br />

{<br />

import flash.display.MovieClip;<br />

import flash.text.*;<br />

import flash.events.*;<br />

import flash.ui.*;<br />

}<br />

public class Main extends MovieClip<br />

{<br />

private var carAdapter:ICar; // declare adapter<br />

}<br />

public function Main( )<br />

{<br />

// Create a legacy car instance<br />

var legacyCar:LegacyCar =<br />

new LegacyCar(this.stage.stageWidth * 0.5,<br />

this.stage.stageHeight * 0.75);<br />

addChild(legacyCar); // add legacy car to stage display list<br />

}<br />

// Wrap legacy car with the CarAdapter<br />

this.carAdapter = new CarAdapter(legacyCar);<br />

// attach KEY_DOWN event listener onKeyPress( ) to the stage<br />

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,<br />

this.onKeyPress);<br />

carAdapter.start( );<br />

private function onKeyPress(event:KeyboardEvent):void<br />

{<br />

switch (event.keyCode)<br />

{<br />

case Keyboard.LEFT :<br />

this.carAdapter.turnMoreToTheLeft( );<br />

break;<br />

case Keyboard.RIGHT :<br />

this.carAdapter.turnMoreToTheRight( );<br />

break;<br />

case Keyboard.UP :<br />

this.carAdapter.goStraight( );<br />

break;<br />

}<br />

}<br />

192 | Chapter 5: Adapter Pattern

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!