O'Reilly logo

Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications Using Silverlight® and XNA® by Robert Fonseca-Ensor, Karli Watson, Nick Lecrenski

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

MORE XNA TIPS AND TRICKS

You've learned the basic building blocks of XNA, which are required for practically every XNA game. This section presents a number of techniques that may come in handy as you build the rest of the game components required to complete the Tank game.

Handling Many Objects Efficiently

Now that you have a trigger on your screen, say that you want to make bullets come out of the tank when you hold down the trigger. This is the first time you've needed transient objects in the game — that is, things that are on the screen for only a limited period of time. Conceivably, you could add a GameComponent object called Bullet to the game every time the tank fires, and you could remove it when it hits enemies or a wall. However, it's not efficient to keep adding and removing GameComponent objects from the game, and the logical flow might become difficult to follow if a component is removing itself from the game during an update.

Rather than think of each component as an entity within the game, you can think about each component taking responsibility for a concept within the game. There's only one player tank, one joystick, and one trigger, so you can just create a GameComponent object to represent these. If you're going to need many game entities to appear and disappear during the game, then you should write a single GameComponent object to manage all these entities at once. Of course, you'll likely need a class to represent each entity, but you should make a single ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required