Предыдущая Следующая
Конструктор класса Sprite остается без реализации. В следующей главе мы будем изучать спрайтовую анимацию и создадим дополнительный конструктор для класса Sprite, направленный на создание объекта с возможностью анимации. В итоге у нас получится два разных конструктора: один - для создания не-анимированных объектов, а другой - для анимированных изображений.
Затем в исходном коде файла Sprite.cs следует описание метода Load(), который в качестве параметров принимает объект content класса ContentManager и объект stringTexture класса String.
public void Load(ContentManager content, String stringTexture)
{
spriteTexture = content.Load<Texture2D>(stringTexture);
}
Объект content необходим для вызова метода Load<Texture2D>() , а значит, и для возможности загрузки в программу изображения непосредственно через класс Sprite. Второй объект stringTexture будет содержать строку текста, в которой мы будем передавать путь к загружаемому изображению. На этом этапе можно было сразу прописать путь к графическому файлу, но тогда метод Load() можно будет использовать только один раз для загрузки одного жестко заданного изображения. В нашем случае метод Load() универсален и годится для загрузки любого спрайта. Достаточно лишь вызвать этот метод в классе Game1 и в качестве параметров передать объект content и указать путь к спрайту.
После метода Load() идет реализация метода DrawSprite() , отвечающего за рисование спрайта на экране монитора.
public void DrawSprite(SpriteBatch spriteBatch)
{
spriteBatch.Draw(spriteTexture, spritePosition, Color.White);
}
В этом методе происходит вызов системного метода Draw() , а в качестве параметров выступают спрайт, позиция на экране и цветовая составляющая. В сам метод DrawSprite() в качестве параметра передается объект spriteBatch класса SpriteBatch, для возможности вызова метода Draw() непосредственно через класс Sprite. На этом реализация класса Sprite закончена, давайте перейдем к рассмотрению исходного кода класса Game1 .
90 Работа с двухмерной графикой
Проект DrawSprite Class 91
6.3.2. Класс Gamel проекта DrawSpriteClass
Исходный код класса Game1 представлен в листинге 6.3.
//=========================================================================
/// <summary>
/// Листинг 6.3
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г. /// Глава 6 Предыдущая Следующая
|