Покоряем Windows Phone 7.1 Часть 3 ЗD-эксперимент

Часть 2

ЗD-эксперимент

Теперь настало время заняться кодингом и написать графическое приложение для Windows Phone 7.1. Что же нам написать? Наше первое приложение будет демонстрацией возможностей ЗD-визуализации смартфона на базе WP 7.1. Запусти VS 2010 и в качестве шаблона создаваемого приложения выбери «Visual C# XNA Game Studio 4.0 Windows Phone Game (4.0)». В результате будет сгенерирована заготовка для разработки игры. Обратим внимание на некоторые технические детали. Так как для WP установлено стандартное разрешение экрана [480x800], значит, наша графика будет выглядеть одинаково на разных девайсах. К тому же WP поддерживает приемлемую для игр частоту кадров — 30 fps (можно поменять, изменив значение переменной TargetElapsedTime), Хотя на десктопе, на котором ведется разработка графического приложения для WP, должен быть видеоадаптер с поддержкой DirectX 10, на смартфоне WP используется DX 9. Один из нюансов разработки, переносимых между тремя платформами игр, состоит в использовании DX 9. В XNA явно не указывается, какая версия DX используется, зато можно определить профиль устройства в свойствах проекта. Для PC и Хbох 360 можно использовать профиль HiDef, который соответствует высочайшему качеству графики, и соответствует десятой версии DX. С другой стороны, наша целевая платформа WP не поддерживает этот профиль, поэтому нам придется использовать профиль Reach, который соответствует DX9 со всеми вытекающими отсюда последствиями. Другие нюансы связаны с реализацией контроля, который сильно отличается у разных платформ из-за различных устройств ввода. Правда, XNA 4.0 поддерживает все их виды.

Вчера взял сотовый телефон Samsung S8500 в г. Калуге. Купить коллекционную куклу в Москве. Коллекционные фарфоровые куклы купить. Прекрасное сочетание качества и цены - Регистрация ИП - доступные цены!

Прямо сейчас скомпилируй и запусти приложение. Если все установлено правильно, то в запустившемся эмуляторе телефона ты увидишь закрашенный монотонным цветом дисплей (рис. 2). Закрой эмулятор и подготовь контент для своего приложения(можешь взять с нашего диска). По замыслу в качестве фона будет выступать текстура. С помощью контент пайплайн загрузи файл background.jpg. Да, если не в курсе, контент пайплайн — это механизм, интегрируемый в студию после установки XNA. Основное его предназначение — это осуществление прямого доступа к ресурсам — контенту игры. То есть, загрузив в него, например, текстуру, можно напрямую обращаться к ней, не обращая внимания на реальное ее расположение. Дополнительно при его использовании определенный ресурс будет загружен в память только единожды, и не получится ситуации, когда один и тот же объект будет за гружен повторно. После загрузки текстуры попробуй вывести ее на экран эмулятора смартфона, для этого потребуется написать всего несколько строчек кода. Во-первых, открой в студии файл Game1.cs, и в конструкторе класса Game задай параметры экрана:

this.graphics.PreferredBackBufferHeight = 480; this.graphics.PreferredBackBufferWidth = 800; this.graphics.IsFullScreen = true; 

Таким образом, мы устанавливаем альбомный режим экрана. Затем в функции LoadContentO после создания объекта spriteBatch добавь следующую строчку кода: background = Content. Load("Textures/background");. С ее помощью происходит загрузка текстуры в память. Пролистай листинг вниз до функции Draw, после комментария TODO добавь такие три строчки:

spriteBatch. BeginQ; spriteBatch.Draw(background, new Rectangle (0, 0, 800, 480), Color.White); spriteBatch.End();  

Для прорисовки текстуры используется ранее созданный объект SpriteBatch: первый метод — Begin данного объекта начинает группу операций рисования (в нашем случае только одну), используя одинаковые настройки, они задаются в параметрах метода. В нашем примере у него нет параметров. Затем метод Draw  выводит за груженную ранее текстуру. В данном при мере у него три параметра (как и у предыдущего метода, имеются перегруженные варианты) указатель на прорисовываемую текстуру, объект — прямоугольнике параметрами для вывода и цвет для придания оттенка (белый — не играет значения). Последний метод сбрасывает на задний буфер (хе-хе, «задний буфер» — это круто, Бивис — прим. ред.) содержимое объекта класса SpriteBatch и восстанавливает его состояние, предшествующее вызову метода Begin.

Часть 4

Похожие статьи Меню Опрос Фото Популярное