Предыдущая Следующая
} }
}
В сформированном файле Sprite.cs в области подключения библиотечных классов добавляются дополнительные библиотеки, которых при формировании шаблона Visual C# не было. Затем в исходном коде класса Sprite идет объявление двух объектов.
public Texture2D spriteTexture; public Vector2 spritePosition;
Первый объект spriteTexture класса Texture2D будет содержать загруженное в программу изображение, а второй объект spritePosition класса Vector2 - задавать местоположение спрайта на экране. Здесь наблюдается прямая аналогия с примером, рассмотренным в предыдущем проекте, но все объявления и действия по загрузке изображений будут происходить непосредственно в классе Sprite.
Конструктор класса Sprite остается без реализации. В следующей главе мы будем изучать спрайтовую анимацию и создадим дополнительный конструктор
134 Работа с двухмерной графикой
для класса 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() универсален и годится для загрузки любого спрайта. Достаточно лишь вызвать этот метод в классе Gamel и в качестве параметров передать объект content и указать путь к спрайту.
После метода Load() идет реализация метода DrawSprite(), отвечающего за рисование спрайта на экране.
public void DrawSprite(SpriteBatch spriteBatch)
{
spriteBatch.Draw(spriteTexture, spritePosition, Color.White);
}
В этом методе происходит вызов системного метода Draw() , а в качестве параметров выступают спрайт, позиция на экране и цветовая составляющая. В сам метод DrawSprite() в качестве параметра передается объект spriteBatch класса SpriteBatch, для возможности вызова метода Draw() непосредственно через класс Sprite. На этом реализация класса Sprite закончена, давайте перейдем к рассмотрению исходного кода класса Gamel. Предыдущая Следующая
|