Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Добавив спрайт в проект, можно приступать к работе над исходным кодом класса Gamel. В глобальных переменных к уже имеющимся объявлениям добавляем следующие три строки кода.

Рис. 6.3. Папка Content

Рис. 6.5. Статичное изображение девушки

82 Работа с двухмерной графикой

Проект DrawSprite 83

Texture2D spriteTexture; Vector2 spritePosition; SpriteBatch spriteBatch;

В первой строке кода объявляется объект spriteTexture класса Texture2D. Это системный класс, позволяющий работать с двухмерными текстурами. Объект этого класса spriteTexture как раз и будет представлять или содержать графический файл sprite.png. Объект spriteTexture отвечает только за загрузку в программу изображений, а с помощью объекта spriteBatch класса SpriteBatch происходит рисование спрайтов на дисплее.

Во второй строке кода этого блока объявляется переменная spritePosition структуры Vector2. Эта структура дает возможность задавать сразу две координаты по осям X и Y. С помощью переменной spritePosition мы сможем задать точку вывода спрайта на экран. Платформа XNA также имеет в своем составе еще структуры Vector3 и Vector4 для работы с тремя и четырьмя координатами соответственно (X, Y, Z и W). В этом случае ось Z представляет буфер глубины, а величина W - это коэффициент перспективы.

В последней строке блока создается еще один объект spriteBatch класса SpriteBatch. Класс SpriteBatch имеет в своем составе сервисы, необходимые для вывода или рисования графических изображений на экране монитора.

Далее в методе LoadGraphicsContent() создадим, или инициализируем (кто к чему привык), объект spriteBatch.

protected override void LoadGraphicsContent(bool loadAllContent) {

if(loadAllContent) {

spriteBatch = new SpriteBatch(graphics.GraphicsDevice);

spriteTexture = content.Load<Texture2D>("Content\\Textures\\sprite");

} }

В этом примере создание объекта spriteBatch происходит типичным, или стандартным, образом. Эта конструкция кода имеет место во всех программах. В следующей строке кода происходит загрузка изображения sprite.png в программу. Для этих целей используется метод Load<Texture2D>() , а в качестве его параметра указывается полный путь к графическому изображению. В этой записи два слэша обозначают одну из папок в рабочем каталоге проекта. Если вы хотите загрузить текстуру, например, из корневого каталога, то достаточно указать просто имя файла без слэшей, если, конечно, ваш файл действительно находится в корневом каталоге.


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

Горяченькое

Друзья

Hosted by uCoz