Предыдущая Следующая
Подводя промежуточный итог обзора платформы XNA Framework, можно констатировать, что механизмы работы как DirectX, так и XNA Framework с аппаратной частью устройства почти одинаковы, но внутренние особенности обеих библиотек значительно отличаются друг от друга, и сейчас мы поговорим об этом более подробно.
2.4.2. Application Model
В расширенном каркасе высокоуровневых классов и, в частности, в Application Model (Модель приложения) реализована общая структура работы модели приложения. Этот набор компонентов позволяет автоматизировать процесс создания
50 Платформа XNA
игры и создает за вас механизм реализации оконного или полноэкранного приложения, организует необходимый в игре таймер, обрабатывает различные сообщения, управляет процессом рисования сцены на экране телевизора (рендиринг), загрузкой ресурсов игры и т. д.
Все перечисленные элементы преподносятся вам в виде готового шаблона игры с небольшим количеством строк исходного кода, в которые вам необходимо вставлять свой код игры. То есть за вас создается полнофункциональный каркас игрового приложения, готовый к «употреблению». Например, давайте посмотрим на исходный код каркаса игры, созданный шаблоном XNA Game Studio Express и Visual C# Express, представленный в листинге 2.1.
//=========================================================================
/// <summary>
/// Листинг 2.1
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Класс: Gamel
/// Простой шаблонный проект
/// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace WindowsGamel {
/// <summary>
/// Это шаблон вашей игры
/// </summary>
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content;
public Game1()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services);
}
/// <summary>
/// Этот метод предназначен для инициализации различных игровых данных /// Здесь можно задавать первичные состояния игровым компонентам, Предыдущая Следующая
|