ActionScript 3.0 Design Patterns

(Chris Devlin) #1

314 | Chapter 8: Observer Pattern


androidMC=new Android( );
addChild (androidMC);
androidMC.x=300;
androidMC.y=380;
beam=new Beam( );
addChild (beam);
beam.x=androidMC.x;
beam.y=androidMC.y;
androidMC.addEventListener (MouseEvent.CLICK,fireBeam);
androidMC.addEventListener (Event.ENTER_FRAME,beamHit);


//Alien
alienMC=new Alien( );
addChild (alienMC);
torpedo=new Torpedo( );
addChild (torpedo);
alienMC.x=420,
alienMC.y=120;
torpedo.x=alienMC.x-7;
torpedo.y=alienMC.y+17;
alienMC.addEventListener (MouseEvent.CLICK,fireTorpedo);
alienMC.addEventListener (Event.ENTER_FRAME,alienHit);
}


//Earthling fires missle
private function fireMissile (evt:Event)
{
missile.play ( );
eFlag=0;
}
//Earthling hits Alien
private function earthlingHit (evt:Event)
{
this.alienMC=alienMC;
if (missile.hitTestObject(alienMC) && eFlag==0)
{
eFlag=1;
aKiller++;
scoreSetter.setScore (aKiller,"Alien Hit");
dataOut ( );
if (aKiller >= 5)
{
scoreSetter.setScore (aKiller,"Alien Out");
alien.nomDeGuerre="Alien Destroyed";
this.alienMC.rotation=90;
torpedo.rotation=90;
killWarrior (alien);
dataOut ( );
}
}
}
//Android fires beam


Example 8-19. ChangeHandler.as (continued)

Free download pdf