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