Предыдущая Следующая
6.3.2. Класс Game1 проекта DrawSpriteClass
Исходный код класса Game1 представлен в листинге 6.3.
//=========================================================================
/// <summary>
/// Листинг 6.3
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express» /// Автор книги: Горнаков С. Г. /// Глава 6
/// Проект: DrawSpriteClass
Проект DrawSpriteClass 135
/// Класс: Gamel
/// Создаем класс Sprite
/// <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 DrawSpriteClass {
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; SpriteBatch spriteBatch; Sprite sprite;
/// <summary> /// Конструктор /// <summary> public Gamel()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; sprite = new Sprite();
}
/// <summary> /// Инициализация /// <summary>
protected override void Initialize()
{
sprite.spritePosition = new Vector2(300, 200);
base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary>
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
136 Работа с двухмерной графикой
spriteBatch = new SpriteBatch(graphics.GraphicsDevice); sprite.Load(content, «Content\\Textures\\sprite»);
}
}
/// <summary>
/// Освобождаем ресурсы
/// <summary>
protected override void UnloadGraphicsContent(bool unloadAllContent)
{ }
/// <summary>
/// Обновляем состояние игры /// <summary>
protected override void Update(GameTime gameTime)
{ }
/// <summary>
/// Рисуем на экране
/// <summary>
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); sprite.DrawSprite(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
} }
}
Заметьте, что код из предыдущего примера по загрузке спрайта в классе Gamel был удален, потому что загрузка изображения теперь происходит через класс Sprite. В глобальных переменных класса Gamel добавляется объявление нового объекта sprite класса Sprite. Предыдущая Следующая
|