May 2005
Intermediate to advanced
998 pages
26h
English
AlienTilesPanel is similar to JackPanel in Chapter 12; it uses an active rendering animation loop driven by Java 3D's timer. It displays an introductory image when the game starts, which doubles as a help screen during the course of play. While the help screen is being shown, the game pauses.
AlienTilesPanel creates the various game elements in createWorld():
// globals game entities
private WorldDisplay world;
private PlayerSprite player;
private AlienSprite aliens[];
private void createWorld(ImagesLoader imsLoader)
// create the world display, the player, and aliens
{
world = new WorldDisplay(imsLoader, this);
player = new PlayerSprite(7,12, PWIDTH, PHEIGHT,
clipsLoader, imsLoader, world, this);
// sprite starts on tile (7,12)
aliens = new AlienSprite[4];
aliens[0] = new AlienAStarSprite(10, 11, PWIDTH, PHEIGHT,
imsLoader, world);
aliens[1] = new AlienQuadSprite(6, 21, PWIDTH, PHEIGHT,
imsLoader, world);
aliens[2] = new AlienQuadSprite(14, 20, PWIDTH, PHEIGHT,
imsLoader, world);
aliens[3] = new AlienAStarSprite(34, 34, PWIDTH, PHEIGHT,
imsLoader, world);
// use 2 AStar and 2 quad alien sprites
// the 4th alien is placed at an illegal tile location (34,34)
world.addSprites(player, aliens);
// tell the world about the sprites
} // end of createWorld()Tile coordinates are passed to the sprites, rather than pixel locations in the JPanel. The two A* and two quad sprites are stored in an aliens[] array to make it easier to send messages ...
Read now
Unlock full access