Предыдущая Следующая
spriteBatch.End(); base.Draw(gameTime);
}
Методы Begin() и End() класса SpriteBatch задают начало и окончание представления всей двухмерной сцены на экране монитора. Между двумя вызовами этих методов необходимо производить вывод или рисование всех графических изображений на экране. На каждый вызов метода Begin() должен обязательно следовать вызов метода End(). Это необходимое условие!
Между вызовами методов Begin() и End() происходит вызов метода Draw() класса SpriteBatch.
spriteBatch.Draw(spriteTexture, spritePosition, Color.White);
Первым параметром этого метода является спрайт, представленный объектом spriteTexture. Второй параметр задает расположение спрайта на экране по осям X и Y, а последний параметр устанавливает цветовую составляющую спрайта или то, каким цветом будет закрашен спрайт. Сейчас используется белый цвет, что означает рисование спрайта в оригинале без какой-либо дополнительной ретуши цветом. В этом параметре для окраски спрайтов можно использовать любые доступные цвета.
После компиляции и запуска проекта DrawSprite на экране монитора отобразится графическое изображение. В листинге 6.1 класса Gamel проекта DrawSprite находится полный исходный код рассматриваемого примера.
//=========================================================================
/// <summary>
/// Листинг 6.1
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г. /// Глава 6
/// Проект: DrawSprite /// Класс: Gamel
/// Вывод спрайта на экран монитора /// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace DrawSprite
{
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; KeyboardState keyboardState; Texture2D spriteTexture; Vector2 spritePosition; SpriteBatch spriteBatch;
/// <summary> /// Конструктор /// <summary> public Game1()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 7 68; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true; Предыдущая Следующая
|