官术网_书友最值得收藏!

Managing content

Two separate projects get created when you start a new XNA Game Studio project in Visual Studio. The first is your actual game project, and the second is a special type of project called a content project. This is shown in the following screenshot:

Managing content

Any non-code pieces of your game, including graphical resources, sounds, fonts, and any number of other item types (you can define your own content interpreters to read things such as level maps) are added to the content project. This project gets built along with the code in your primary project and the two are combined into a single location with everything your game needs to run.

When the content project is built, each item is examined by a content importer—a bit of code that interprets the raw data of the content file, a .jpg image for example, and converts it into a format that can be passed into a content processor. The content processor's job is to convert this file into a managed code object that can be stored on a disk and read directly into memory by XNA's ContentManager class. These compiled binary files carry the .xnb file extension and are located, by default, in a subdirectory of your game's executable folder called Content.

Tip

ContentManager

Though its primary job is to load the content resources into memory at runtime, ContentManager does more than that. Each instance of ContentManager maintains a library of all of the content that has been loaded. If multiple requests to load the same content file are sent to a ContentManager instance, it will only load the resource from the disk the first time. The remaining requests are supplied with a reference to the item that already exists in memory.

Out of the box, XNA contains importers/processors for 3D meshes, images, fonts, audio, shaders, and XML data. We will create the content used for Speller with an image editor and the tools built into XNA Game Studio.

主站蜘蛛池模板: 宁晋县| 东阳市| 北辰区| 梁平县| 泰兴市| 于都县| 万山特区| 新丰县| 福州市| 浪卡子县| 富锦市| 广南县| 京山县| 开江县| 安远县| 津南区| 齐齐哈尔市| 徐水县| 邹平县| 雅安市| 乐业县| 靖远县| 平湖市| 安西县| 宝鸡市| 正宁县| 水富县| 嘉义县| 忻州市| 内江市| 青海省| 湘西| 响水县| 上杭县| 晋中市| 阳城县| 阜城县| 卢龙县| 龙里县| 含山县| 翼城县|