Game Development Reference
In-Depth Information
protected function enemyMovementFinished(target:
Enemy):void {
removeChild(target);
delete _enemyList[target];
}
}
}
All the necessary classes for this iteration of the game have
been completed. Now, it is time to implement with actual assets.
If you open the SimpleTunnelShooter.fla file, you
ll find some
clips in the library that will be used by the classes. These include
the Enemy clip, the Player clip, and the TunnelTile clip. There is
also a bitmap used for the tile texture. I chose a brick because it
has a nice effect along the seams, but most of the texture would
work for the tunnel and some might even stitch together more
cleanly.
Theonlythingonthetimelineisthescriptnecessaryto
instantiateagameandstartit.Thiscouldalsobedonewitha
document class for the FLA, but for simplicity and since this isn
'
'
ta
full game, the timeline suffices just fine.
import tunnelshooter.*;
var game:Game = new Game();
game.x = 275;
game.y = 200;
addChild(game);
game.startGame();
re done with this example. When published, the
end result should look something like Fig. 11.17 .
While this is by no means a complete game, it contains numer-
ous examples of how the trig functions can be used to manipulate
objects in 2D and 3D space. Here are some ideas on functionality
that would enhance this game.
￿
That
'
sit!We
'
Continually increasing speed of enemy creation
￿
The ability of the player to either catch enemies or shoot at
them
￿
Subtle rotation or distortion of the entire tunnel over time to
create player disorientation
￿
Multiple types of enemies
￿
Other shapes of tunnels; eight sides work well for performance
reasons, but many more could be used
This concludes Part One of this chapter. We will continue to
apply these concepts moving forward into our discussion of phy-
sics,aswellasinupcomingchaptersaswedelveintomorecom-
plex game mechanics.
Search Nedrilad ::




Custom Search