Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Конструктор класса 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


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz