# c# print barcode 2-D and Screen Coordinate Systems in Font Creation Data Matrix ECC200 in Font 2-D and Screen Coordinate Systems

2-D and Screen Coordinate Systems
Data Matrix Generation In None
Using Barcode printer for Font Control to generate, create Data Matrix 2d barcode image in Font applications.
www.OnBarcode.com
PDF-417 2d Barcode Drawer In None
Using Barcode drawer for Font Control to generate, create PDF 417 image in Font applications.
www.OnBarcode.com
Although a 2-D game uses many math concepts, in this section we ll explore only the most basic ones. However, if you understand the ideas expressed in this chapter, you ll be able to build upon this knowledge when creating your 2-D games, and easily learn other related concepts. You ll create a simple XNA program to present the concepts of drawing sprites, moving them onscreen, and colliding sprites with one another and the game window border. However, before you start coding, let s talk about 2-D coordinate systems and screen coordinates.
Generate Barcode In None
Using Barcode encoder for Font Control to generate, create Barcode image in Font applications.
www.OnBarcode.com
Data Matrix Creation In None
Using Barcode generation for Font Control to generate, create ECC200 image in Font applications.
www.OnBarcode.com
CHAPTER 2 s 2-D GRAPHICS, AUDIO, AND INPUT BASICS
Generate UPC Symbol In None
Using Barcode drawer for Font Control to generate, create UCC - 12 image in Font applications.
www.OnBarcode.com
Generate Code 128 In None
Using Barcode drawer for Font Control to generate, create Code 128 image in Font applications.
www.OnBarcode.com
You probably heard about 2-D coordinate systems in school, when creating simple graphics in geometry. Just to remind you, Figure 2-1 represents a triangle, expressed by each of its vertices, in a 2-D coordinate system. Analyze the vertices coordinates to make sure you understand the concept.
Print Code 39 In None
Using Barcode encoder for Font Control to generate, create Code 39 Extended image in Font applications.
www.OnBarcode.com
Paint GS1 - 8 In None
Using Barcode creator for Font Control to generate, create EAN8 image in Font applications.
www.OnBarcode.com
Figure 2-1. A triangle in a 2-D coordinate system
Reading Data Matrix 2d Barcode In None
Using Barcode recognizer for Software Control to read, scan read, scan image in Software applications.
www.OnBarcode.com
DataMatrix Creation In Objective-C
Using Barcode generator for iPhone Control to generate, create Data Matrix image in iPhone applications.
www.OnBarcode.com
The main difference between the coordinate system presented in Figure 2-1 and the coordinates used when creating a 2-D game called screen coordinates is that the axis origin is not in the bottom left, but in the top left position, as depicted in Figure 2-2. Compare the two figures to understand how this difference impacts the vertices definition: the higher a vertex appears onscreen, the lower its Y coordinate.
Making Barcode In Visual Basic .NET
Using Barcode creation for .NET Control to generate, create Barcode image in .NET applications.
www.OnBarcode.com
Scan Barcode In Java
Using Barcode Control SDK for BIRT reports Control to generate, create, read, scan barcode image in BIRT applications.
www.OnBarcode.com
Figure 2-2. The same triangle, in screen coordinates
Create PDF-417 2d Barcode In None
Using Barcode encoder for Online Control to generate, create PDF417 image in Online applications.
www.OnBarcode.com
Painting Barcode In Objective-C
Using Barcode drawer for iPad Control to generate, create Barcode image in iPad applications.
www.OnBarcode.com
CHAPTER 2 s 2-D GRAPHICS, AUDIO, AND INPUT BASICS
QR Code Maker In .NET Framework
Using Barcode generation for Reporting Service Control to generate, create Denso QR Bar Code image in Reporting Service applications.
www.OnBarcode.com
Code-128 Creator In C#
Using Barcode generation for VS .NET Control to generate, create ANSI/AIM Code 128 image in .NET applications.
www.OnBarcode.com
Another detail is that the screen coordinates are directly related to the screen resolution. So, if you configure your monitor to an 800 ! 600 resolution, that means that the X axis will have 800 pixels (each pixel is an independent point onscreen) and the Y axis will have 600 pixels, as suggested in Figure 2-2.
Linear Printer In C#.NET
Using Barcode creator for .NET Control to generate, create Linear image in Visual Studio .NET applications.
www.OnBarcode.com
Recognize Barcode In VS .NET
Using Barcode reader for VS .NET Control to read, scan read, scan image in VS .NET applications.
www.OnBarcode.com
Drawing a Sprite Using XNA
Generating Code 3/9 In Java
Using Barcode printer for Eclipse BIRT Control to generate, create Code39 image in BIRT reports applications.
www.OnBarcode.com
Decoding Barcode In Visual Studio .NET
Using Barcode Control SDK for ASP.NET Control to generate, create, read, scan barcode image in ASP.NET applications.
www.OnBarcode.com
Let s now create a simple example in XNA to display a sprite in a given position on the screen. Start by creating a new project, or opening the empty project you created in the previous chapter. To group the sprite image and some associated properties (such as position, size, and velocity), you ll create a simple class, which will be extended later in this chapter when we explore new concepts. The following code listing presents a simple sprite class, including the following properties: texture: Stores the sprite image using XNA s Texture2D class. This class has many properties and methods to help deal with textures; you ll see some of them in s 3 and 4. The texture is stored in this class as a 2-D grid of texels. Similar to pixels, which are the smallest unit that can be drawn on the screen, texels are the smallest unit that can be stored by the graphics board, and include color and transparency values. size: Stores the sprite s size using XNA s Vector2 class. This class has two properties, X and Y, which are used to store the image width and height. position: Stores the position of the sprite using XNA s Vector2 class. The X and Y properties of the class store the screen coordinates for the sprite.
class clsSprite { public Texture2D texture; public Vector2 position; public Vector2 size;
// // //
sprite texture sprite position onscreen sprite size in pixels
public clsSprite (Texture2D newTexture, Vector2 newPosition, Vector2 newSize) { texture = newTexture; position = newPosition; size = newSize; } }
CHAPTER 2 s 2-D GRAPHICS, AUDIO, AND INPUT BASICS
For now, this class only stores the sprite properties, and does not include any method. Because your goal here is to keep the code simple, you won t create properties using the get/set structure, although it s advisable to do so when creating properties in your games. The next code sample presents an example of how to use such a structure, in case you want to improve the code by yourself.
int _gameLevel; // Stores the current game level public static int GameLevel { get { return _gameLevel; } set { _gameLevel = value; } }
The first step in creating a sprite is to include a new image in your game, so you can use it through the Content Pipeline. Go to the XNA Creator s Club site (http://creators. xna.com) and save the XNA thumbnail image that appears on the site home page (or download the image directly from http://creators.xna.com/themes/default/images/ common/xna_thumbnail.png). Once you have this image in your hard drive, include it in your project by pressing the left mouse button over the Solution Explorer window, as shown in Figure 2-3, selecting Add Existing Item, and choosing the image you just downloaded.