Предыдущая Следующая
В следующей строке кода метода LoadGraphicsContent() происходит загрузка изображения sprite.png в программу. Для этих целей используется метод Load<Texture2D>(), а в качестве его параметра указывается полный путь к графическому изображению. В этой записи два слэша обозначают одну из папок в рабочем каталоге проекта. Если вы хотите загрузить текстуру, например, из корневого каталога, то достаточно указать просто имя файла без слэшей, если, конечно, ваш файл действительно находится в корневом каталоге проекта.
Загрузка графического файла в программу происходит посредством сервисов XNA Content Pipeline. В строке загрузки графического файла указывается только название файла без его расширения. Загрузчику XNA Content Pipeline абсолютно все равно, в каком формате выполнено изображение, главное, чтобы это были форматы, с которыми он умеет работать (BMP, JPG, PNG, TGA и DDS), а все остальное - дело его техники. После компиляции приложения XNA Content Pipeline преобразует все графические ресурсы игры в свой специфический формат XNB, и программа будет читать уже эти преобразованные файлы.
128 Работа с двухмерной графикой
Далее в методе Initialize() мы зададим две координаты по осям X и Y для вывода спрайта на экран.
protected override void Initialize() {
spritePosition.X = 300; spritePosition.Y = 200;
/* можно задать также вывод изображения в центре экрана:
* spritePosition.X = graphics.PreferredBackBufferWidth / 2;
* spritePosition.Y = graphics.PreferredBackBufferHeight / 2;
*/
base.Initialize();
}
Начальная точка координат для спрайта - это его верхний левый угол. Переменная spritePosition представляет собой вектор, который позволяет задавать координаты по двум осям. Обращение к осям X и Y происходит посредством оператора точка. Дополнительно можно использовать и другую конструкцию кода с явным созданием объекта spritePosition следующим образом (в центре экрана).
spritePosition = new Vector2(graphics.PreferredBackBuifferWidth / 2, graphics.PreferredBackBufferHeight / 2);
Эта запись идентична предыдущей записи, а деление этих значений на 2 позволяет найти центр экрана (но не центр спрайта). В ином случае можно было записать следующие строки:
spritePosition.X = 512; // 1280/2 spritePosition.Y = 384; // 720/2
Если не определять координаты для вывода спрайта на экран, то по умолчанию значение положения спрайта задается двумя нулями, то есть верхний левый угол экрана. Предыдущая Следующая
|