<< Chapter < Page
  Xna game studio     Page 2 / 8
Chapter >> Page >

General background information

The three pillars of OOP

An object-oriented programming language like C# supports encapsulation , inheritance , and polymorphism . In this module, you will learn how to take advantage of encapsulation.

Wanted, lots of sprites

Assume that you are writing a game program in which you need to have several dozen similar sprites on the screen at the same time. Creating and controllingthat many sprites without using encapsulation would require you to write a lot of program code.

Encapsulation to the rescue

However, by encapsulating the characteristics of a sprite into a class, which is a blueprint for an object, you can instantiate sprite objects just like cutting out cookies with a cookie cutter.

In this module, you will learn to define and use a very simple Sprite class. In future modules, you will learn how to modify the Sprite class to make it more sophisticated by making use of inheritance andpolymorphism in addition to encapsulation

Preview

The XNA project that I will explain in this module is named XNA0126Proj . This project demonstrates how to design and use a very simple version of a Sprite class. An object instantiated from the Sprite class has the following general characteristics:

  • It can be instantiated without an image.
  • It can be instantiated with an image.
  • It can have its image set.
  • It can have its position within the game window set.
  • It can cause itself to be drawn.

Demonstrate how to use the Sprite class

Methods are overridden in the standard XNA Game1 class that demonstrate the use of the Sprite class.

One Sprite object is instantiated in the overridden LoadContent method of the Game1 class. The object's reference is saved in a generic List object. Twenty-three more Sprite objects are instantiated in the overridden Update method while the game loop is running.

Instantiate Sprite objects on the move

A new Sprite object is instantiated in the Update method every 8th iteration of the game loop until twenty-four Sprite objects have been instantiated. The object's references are saved in the samegeneric List object mentioned above.

An image of a blue ball is stored in 12 of the objects and an image of a red ball is stored in the other 12 objects. The red and blue balls alternate and the Sprite objects are drawn in a diagonal line as shown in Figure 1 .

Figure 1 . Seven Sprite objects.

missing image

Seven Sprite objects

Figure 1 shows the game window after seven of the twenty-four Sprite objects have been instantiated and drawn in the game window.

Move to the right and down

The line of Sprite objects moves across the game window from upper left to lower right as the Sprite objects are being instantiated. They stop moving when they reach the bottom right corner of thegame window.

When the objects stop moving, the image in the topmost Sprite object is changed from a blue ball to a green ball as shown in Figure 2 .

Figure 2 . Twenty-four Sprite objects with a green one at the top.

missing image

Discussion and sample code

As usual, I will explain the program code in fragments. A complete listing of the class named Sprite is provided in Listing 14 and a complete listing of the class named Game1 is provided in Listing 15 .

Questions & Answers

what is mutation
Janga Reply
what is a cell
Sifune Reply
how is urine form
Sifune
what is antagonism?
mahase Reply
classification of plants, gymnosperm features.
Linsy Reply
what is the features of gymnosperm
Linsy
how many types of solid did we have
Samuel Reply
what is an ionic bond
Samuel
What is Atoms
Daprince Reply
what is fallopian tube
Merolyn
what is bladder
Merolyn
what's bulbourethral gland
Eduek Reply
urine is formed in the nephron of the renal medulla in the kidney. It starts from filtration, then selective reabsorption and finally secretion
onuoha Reply
State the evolution relation and relevance between endoplasmic reticulum and cytoskeleton as it relates to cell.
Jeremiah
what is heart
Konadu Reply
how is urine formed in human
Konadu
how is urine formed in human
Rahma
what is the diference between a cavity and a canal
Pelagie Reply
what is the causative agent of malaria
Diamond
malaria is caused by an insect called mosquito.
Naomi
Malaria is cause by female anopheles mosquito
Isaac
Malaria is caused by plasmodium Female anopheles mosquitoe is d carrier
Olalekan
a canal is more needed in a root but a cavity is a bad effect
Commander
what are pathogens
Don Reply
In biology, a pathogen (Greek: πάθος pathos "suffering", "passion" and -γενής -genēs "producer of") in the oldest and broadest sense, is anything that can produce disease. A pathogen may also be referred to as an infectious agent, or simply a germ. The term pathogen came into use in the 1880s.[1][2
Zainab
A virus
Commander
Definition of respiration
Muhsin Reply
respiration is the process in which we breath in oxygen and breath out carbon dioxide
Achor
how are lungs work
Commander
where does digestion begins
Achiri Reply
in the mouth
EZEKIEL
what are the functions of follicle stimulating harmones?
Rashima Reply
stimulates the follicle to release the mature ovum into the oviduct
Davonte
what are the functions of Endocrine and pituitary gland
Chinaza
endocrine secrete hormone and regulate body process
Achor
while pituitary gland is an example of endocrine system and it's found in the Brain
Achor
what's biology?
Egbodo Reply
Biology is the study of living organisms, divided into many specialized field that cover their morphology, physiology,anatomy, behaviour,origin and distribution.
Lisah
biology is the study of life.
Alfreda
Biology is the study of how living organisms live and survive in a specific environment
Sifune
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask