Предыдущая Следующая
Загрузка графического файла в программу происходит посредством сервисов XNA Content Pipeline. В строке загрузки графического файла указывается только название файла без его расширения. Загрузчику XNA Content Pipeline абсолютно все равно, в каком формате выполнено изображение, главное, чтобы это были
форматы, с которыми он умеет работать (BMP, JPG, PNG, TGA и DDS), а все остальное - дело техники. После компиляции приложения XNA Content Pipeline преобразует все графические ресурсы игры в свой специфический формат XNB, и программа будет читать уже преобразованные файлы.
Далее в методе Initialize() мы зададим две координаты по осям X и Y для вывода спрайта на экран монитора.
protected override void Initialize()
{
spritePosition.X = Window.ClientBounds.Width / 2; spritePosition.Y = Window.ClientBounds.Height / 2; base.Initialize();
}
Начальная точка координат для спрайта - это его верхний левый угол. Переменная spritePosition представляет собой вектор, который позволяет задавать координаты по двум осям. Обращение к осям X и Y происходит посредством оператора точка. Дополнительно можно использовать и другую конструкцию кода с явным созданием объекта spritePosition следующим образом.
spritePosition = new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2);
Эта запись идентична предыдущей записи. Кстати, параметры Window. ClientBounds.Width и Window.ClientBounds.Height автоматически определяют размер экрана по ширине и высоте соответственно. А деление этих значений на 2 позволяет найти центр экрана. В ином случае можно было записать следующие строки.
spritePosition.X = 512; /* 1024/2 */ spritePosition.Y = 384; /* 768/2 */
Если не определять координаты для вывода спрайта на экран, то по умолчанию значение положения спрайта задается двумя нулями, то есть верхний левый угол экрана или окна.
После всех этих действий мы будем иметь загруженный в программу спрайт, а точнее механизм, который будет загружать в программу спрайт и точку вывода спрайта на экране. Теперь нам осталось только нарисовать/вывести/отобразить спрайт на экране. Для этих целей служит метод Draw(), код которого изменяется следующим образом:
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(spriteTexture, spritePosition, Color.White);
84 Работа с двухмерной графикой
Проект DrawSprite 85 Предыдущая Следующая
|