<< Chapter < Page Chapter >> Page >

Discussion and sample code

As usual, I will discuss the program in fragments, beginning with the Sprite class. Furthermore, I will discuss only those portions of the Sprite class that are different from the versions of the Sprite class that I explained in earlier modules.

A complete listing of the Sprite class is provided in Listing 14 and a complete listing of the Game1 class is provided in Listing 15 near the end of the module.

The Sprite class

A new Image property accessor method

Scanning down the Sprite class definition in Listing 14 , the first thing that we find that is new to this version is a new read-only Image property accessor method. The method is shown in Listing 1 .

Listing 1 . A new Image property accessor method in the Sprite class.

//Image property accessor - new to this version. public Texture2D Image {get { return image;}//end get }//end Image property accessor

There is nothing unusual about this property accessor method, so it shouldn't require further explanation. You will learn why it is needed laterwhen I explain the Game1 class.

A modified constructor

The second statement from the end in Listing 2 was added to the constructor from the previous version of the Sprite class.

Listing 2 . A modified constructor.

public Sprite(String assetName, ContentManager contentManager,Random random) { image = contentManager.Load<Texture2D>(assetName); image.Name = assetName;this.random = random; }//end constructor

The new statement assigns the assetName to the Name property of the Texture2D object that represents the sprite's image. You will see why this modification was neededlater.

A modified SetImage method

As with the modified constructor, the last statement in Listing 3 was added to the SetImage method from the previous version of the Sprite class.

Listing 3 . A modified SetImage method.

public void SetImage(String assetName, ContentManager contentManager) {image = contentManager.Load<Texture2D>(assetName); image.Name = assetName;}//end SetImage

Once again, the new statement assigns the assetName to the Name property of the Texture2D object that represents the sprite's image. You will also see why this modificationwas needed later.

A new method named GetRectangle

Listing 4 shows a new method named GetRectangle .

Listing 4 . A new method named GetRectangle.

public Rectangle GetRectangle() { return new Rectangle((int)(position.X),(int)(position.Y), image.Width,image.Height); }//end GetRectangle

This method returns the current rectangle occupied by the sprite's image as type Rectangle . This rectangle is needed for the collision detection process. The code in Listing 4 is straightforward and shouldn't require further explanation.

A new method named IsCollision

This version of the Sprite class defines a new method named IsCollision . The purpose of this new method is to detect a collision between this sprite and some other sprite.

What is a collision?

A collision is called if the rectangle containing this Sprite object's image intersects the rectangle containing a target sprite's image.

Questions & Answers

what is defense mechanism
Chinaza Reply
what is defense mechanisms
Chinaza
I'm interested in biological psychology and cognitive psychology
Tanya Reply
what does preconceived mean
sammie Reply
physiological Psychology
Nwosu Reply
How can I develope my cognitive domain
Amanyire Reply
why is communication effective
Dakolo Reply
Communication is effective because it allows individuals to share ideas, thoughts, and information with others.
effective communication can lead to improved outcomes in various settings, including personal relationships, business environments, and educational settings. By communicating effectively, individuals can negotiate effectively, solve problems collaboratively, and work towards common goals.
it starts up serve and return practice/assessments.it helps find voice talking therapy also assessments through relaxed conversation.
miss
Every time someone flushes a toilet in the apartment building, the person begins to jumb back automatically after hearing the flush, before the water temperature changes. Identify the types of learning, if it is classical conditioning identify the NS, UCS, CS and CR. If it is operant conditioning, identify the type of consequence positive reinforcement, negative reinforcement or punishment
Wekolamo Reply
please i need answer
Wekolamo
because it helps many people around the world to understand how to interact with other people and understand them well, for example at work (job).
Manix Reply
Agreed 👍 There are many parts of our brains and behaviors, we really need to get to know. Blessings for everyone and happy Sunday!
ARC
A child is a member of community not society elucidate ?
JESSY Reply
Isn't practices worldwide, be it psychology, be it science. isn't much just a false belief of control over something the mind cannot truly comprehend?
Simon Reply
compare and contrast skinner's perspective on personality development on freud
namakula Reply
Skinner skipped the whole unconscious phenomenon and rather emphasized on classical conditioning
war
explain how nature and nurture affect the development and later the productivity of an individual.
Amesalu Reply
nature is an hereditary factor while nurture is an environmental factor which constitute an individual personality. so if an individual's parent has a deviant behavior and was also brought up in an deviant environment, observation of the behavior and the inborn trait we make the individual deviant.
Samuel
I am taking this course because I am hoping that I could somehow learn more about my chosen field of interest and due to the fact that being a PsyD really ignites my passion as an individual the more I hope to learn about developing and literally explore the complexity of my critical thinking skills
Zyryn Reply
good👍
Jonathan
and having a good philosophy of the world is like a sandwich and a peanut butter 👍
Jonathan
generally amnesi how long yrs memory loss
Kelu Reply
interpersonal relationships
Abdulfatai Reply
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