Difference between revisions of "Drawing Textures"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Load a Texture)
(Load a Texture)
Line 18: Line 18:
  
 
In order to load the texture (ie hero) you will need to place your image in the content pipeline, and build the pipeline. Adding an image called "hero.png" will allow you to load "hero" in the Content.Load command. Check [[Generating and using XNB files]].
 
In order to load the texture (ie hero) you will need to place your image in the content pipeline, and build the pipeline. Adding an image called "hero.png" will allow you to load "hero" in the Content.Load command. Check [[Generating and using XNB files]].
 +
 +
<syntaxhighlight lang=c#>
 +
Position = Vector2.Zero;
 +
</syntaxhighlight>
 +
 +
You also need to set Position, this will set it to a vector of 0,0.
  
 
=Draw a Texture=
 
=Draw a Texture=

Revision as of 13:03, 25 October 2022

Declare a Texture

One of the built in MonoGame data types is Texture2D, this can be used to store a graphic or image. You will also need to declare a Vector2 to store the on screen position. Declare these within your Game1.cs:

// Animation representing the player
Texture2D PlayerTexture;

// Position of the Player relative to the upper left side of the screen
Vector2 Position;

Load a Texture

Within the LoadContent method we need to create the object for texture and load in actual texture:

PlayerTexture = Content.Load<Texture2D>("hero");

In order to load the texture (ie hero) you will need to place your image in the content pipeline, and build the pipeline. Adding an image called "hero.png" will allow you to load "hero" in the Content.Load command. Check Generating and using XNB files.

Position = Vector2.Zero;

You also need to set Position, this will set it to a vector of 0,0.

Draw a Texture

Now the Initialize has setup the basic setting, we can use these to draw to the screen. Make the following alterations:

public void Draw(SpriteBatch spriteBatch)
{
    spriteBatch.Begin() 
    spriteBatch.Draw(PlayerTexture, Position, null, Color.White, 0f, Vector2.Zero, 1f,
       SpriteEffects.None, 0f);
    spriteBatch.End();
}