XNA 4.0 Game Development by Example Beginner's Guide(Visual Basic Edition)
上QQ阅读APP看书,第一时间看更新

Time for action – reading textures into memory

  1. Double-click on Game1.vb in Solution Explorer to open it or bring it to the front if it is already open.
  2. In the Class Declarations area of Game1 (right below Private WithEvents spriteBatch As SpriteBatch), add:
    Private playingPieces As Texture2D
    Private background As Texture2D
    Private titleScreen As Texture2D
  3. Add code to load each of the Texture2D objects at the end of LoadContent():
    playingPieces = Content.Load(Of Texture2D)("Textures\Tile_Sheet")
    background = Content.Load(Of Texture2D)("Textures\Background")
    titleScreen = Content.Load(Of Texture2D)("Textures\TitleScreen")

What just happened?

In order to load the textures from disk, you need an in-memory object to hold them. These are declared as instances of the Texture2D class.

A default XNA project sets up the Content instance of the ContentManager class for you automatically. The Content object's Load() method is used to read .XNB files from disk and into the Texture2D instances declared earlier.

One thing to note here is that the Load() method requires a type identifier, specified in the first set of parenthesis using the Of notation, before the normal parameter list. Known in .Net programming as a Generic, many classes and methods support this kind of type specification to allow code to operate on a variety of data types. We will make more extensive use of Generics later when we need to store lists of objects in memory. The Load() method is used not only for textures, but also for all other kinds of content (sounds, 3D models, fonts, and so on) as well. It is important to let the Load() method know what kind of data you are reading, so that it knows what kind of object to return.