Приставки
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.png представляет собой девушку, которая падает, а точнее будет падать сверху вниз (рис. 6.5). Рисунок был нарисован специально под нашу задачу, поэтому девушка представлена в такой необычной позе. Изображение девушки заключено в прямоугольник, но при этом белый фон рисунка вырезан средствами Photoshop. Сейчас изображение статично и состоит из одного фрейма, или одного кадра, но в следующей главе мы дорисуем еще несколько фреймов для создания иллюзии анимации.

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

Texture2D spriteTexture; Vector2 spritePosition; SpriteBatch spriteBatch;

В первой строке кода объявляется объект spriteTexture класса Texture2D. Это системный класс, позволяющий работать с двухмерными тексту-

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

Проект DrawSprite 127

рами. Объект этого класса 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 происходит типичным, или стандартным, образом. Эта конструкция кода имеет место во всех программах.


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

Горяченькое

Друзья

Hosted by uCoz