Windows
<<  Общие сведения о платформе Windows Phone 7.5 Фон для подсвечниках  >>
Загрузка игрового контента
Загрузка игрового контента
Настройка положения
Настройка положения
Настройка положения
Настройка положения
Настройка положения
Настройка положения
Эмуляция акселерометра
Эмуляция акселерометра
Картинки из презентации «Создание приложений XNA для Windows Phone» к уроку информатики на тему «Windows»

Автор: Rob Miles. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Создание приложений XNA для Windows Phone.pptx» со всеми картинками в zip-архиве размером 3411 КБ.

Создание приложений XNA для Windows Phone

содержание презентации «Создание приложений XNA для Windows Phone.pptx»
Сл Текст Сл Текст
1Создание приложений XNA для Windows 48перемещать по экрану, изменяя их положение
Phone. Лекция 7. Для более точного управления объектами
2Основные сведения о технологии XNA. можно использовать вещественные переменные
Раздел 7.1. 2. Класс TouchPanel предоставляет информацию
3Темы раздела. Введение в XNA Класс XNA о касаниях экрана, которая хранится в
Game Добавление и управление игровыми объектах TouchLocation Игры XNA могут
ресурсами Создание и отрисовка спрайтов. выводить на экран текст с помощью объектов
3. SpriteFont. 48.
4XNA. XNA позволяет создавать 2D и 3D 49Использование средств Windows Phone в
игры, используя аппаратное ускорение играх. Раздел 7.3. 49.
графики XNA содержит набор инструментов 50Темы раздела. Использование
для проектирования игр и управления акселерометра для управления в играх
игровым контентом В Windows Phone Воспроизведение звуков в играх XNA и
используется XNA версии 4 XNA является приложениях Silverlight Ориентация экрана
частью Windows Phone SDK. 4. в приложениях для Windows Phone. 50.
5XNA и silverlight. XNA существенно 51Акселерометр. Акселерометр может
отличается от Silverlight в части создания измерять ускорение по осям X, Y и Z
и работы программ Технология XNA Значения ускорения по осям X и Y можно
оптимизирована для создания игр не использовать для управления спрайтами в 2D
используются элементы пользовательского играх Значения, возвращаемые
интерфейса и привязка данных классы XNA акселерометром, находятся а пределах от -1
работают с игровой информацией и игровыми до +1 Акселерометр можно использовать как
ресурсами XNA поддерживает рендеринг 3D в играх XNA, так и в приложениях
моделей и управление игровым контентом. 5. Silverlight. 51.
6Проект игры. Решение для игры содержит 52Акселерометр в XNA 4.0. Акселерометр
два проекта один — для программного кода XNA 4.0 генерирует событие, когда он
игры другой — для хранения игровых фиксирует изменение значений Для получения
ресурсов Проект для хранения ресурсов значений акселерометра нужно создать
использует контент-менеджер, который обработчик события Метод-обработчик может
предназначен для удобного управления сохранять значения, чтобы их можно было
ресурсами В обозревателе решений можно использовать позже. 52.
добавлять и другие необходимые файлы. 6. 53Добавление библиотеки. Для работы с
7Действия при запуске игры. акселерометром нужно добавить в проект
Инициализация игровых ресурсов Загрузка ссылку на библиотеку
текстур, моделей, скриптов и др. Microsoft.Devices.Sensors Также
Циклическое выполнение операций: рекомендуется добавить в файл кода
Обновление игрового мира обработка директиву using. using
пользовательского ввода, обновление Microsoft.Devices.Sensors; 53.
состояния и перемещение игровых элементов 54Класс Accelerometer. Этот код
Отрисовка игрового мира рендеринг игровых выполняется в методе Initialise для
элементов в устройстве. 7. настройки акселерометра Метод Initialise
8Методы класса XNA Game. partial class вызывает XNA при запуске игры В коде
PongGame : Microsoft.Xna.Framework.Game { создаётся обработчик события
protected override void LoadContent (bool акселерометра, и акселерометр запускается.
loadAllContent) { } protected override Accelerometer acc = new Accelerometer();
void Update(GameTime gameTime) { } acc.ReadingChanged += new
protected override void Draw(GameTime EventHandler<AccelerometerReadingEventA
gameTime) { } }. 8. gs> (acc_ReadingChanged); acc.Start();
9Методы класса XNA Game. Программы не 54.
должны вызывать методы LoadContent, Draw и 55Событие класса Accelerometer. Этот
Update Эти методы вызывает среда XNA Метод метод запускается, когда происходит
LoadContent вызывается при запуске игры событие акселерометра Полученные от
Метод Draw вызывается так часто, насколько акселерометра значения записываются в
возможно Метод Update вызывается с переменную класса Vector3. Vector3
частотой 30 раз в секунду. 9. accelState = Vector3.Zero; void
10Загрузка игрового контента. Метод acc_ReadingChanged (object sender,
LoadContent вызывается при запуске игры AccelerometerReadingEventArgs e) {
Здесь должен размещаться код для загрузки accelState.X = (float)e.X; accelState.Y =
игрового контента изображения, звуки, (float)e.Y; accelState.Z = (float)e.Z; }.
модели и др. Protected override void 55.
loadcontent() { // создание группы 56Акселерометр и ориентация.
спрайтов, которая можно использовать // Акселерометр выдаёт значения независимо от
для отрисовки текстур spritebatch = new ориентации телефона Координатные оси
spritebatch(graphicsdevice); }. 10. акселерометра не изменяются при изменении
11Загрузка игрового контента. При ориентации телефона Этот факт следует
добавлении ресурса в проект для него учитывать при разработке игр, управление в
задаётся имя Метод Load, который которых реализуется с помощью
предоставляет контент-менеджер, использует акселерометра. 56.
имя ресурса для получения доступа к нему. 57Эмуляция акселерометра. Эмулятор
ballTexture = Windows Phone включает эмулятор
Content.Load<Texture2D>("WhiteD акселерометра Он вызывается при нажатии на
t"); 11. кнопку Дополнительные функции в окне
12Хранение текстуры. Класс XNA Texture2D эмулятора. 57.
используется для хранения двумерных 58Многопоточность. При использовании
текстур Как и любое значение текстура акселерометра в программе одновременно
хранится в переменной, которую можно выполняются две операции: акселерометр
использовать во всех методах проекта. // генерирует и сохраняет новые значения
Игровой мир texture2d balltexture; 12. программа использует эти значения для
13Загрузка текстуры в программу. В управления игровым объектом Требуется
методе LoadContent выполняется загрузка обеспечить синхронизацию работы этих
текстур и других ресурсов в память потоков. 58.
приложения Контент-менеджер управляет 59Возможные проблемы. Метод Update
всеми операциями при загрузке ресурсов. запускается и считывает значение по оси X
Protected override void loadcontent() { // Происходит событие класса Accelerometer,
создание группы спрайтов, которая можно которое генерирует новые значения по осям
использовать // для отрисовки текстур X, Y and Z Метод Update считывает новые
spritebatch = new значения по осям Y и Z Результат: будут
spritebatch(graphicsdevice); balltexture = использоваться старые и новые значения
content.Load<texture2d>("whited разных осей. 59.
t"); }. 13. 60Добавление блокировки. Проблема
14Координаты и пиксели. При отрисовке решается с помощью директивы lock Процесс
изображения в XNA используется система может заблокировать объект до тех пор,
координат, значения которых выражаются в пока не выполнится полностью указанный
пикселях Стандартный размер экрана в блок кода После этого заблокированный
Windows Phone составляет 800?480 пикселей объект освобождается Если другой процесс
Если попытаться вывести изображение за хочет заблокировать занятый объект, он
пределами этой области, то XNA не выдаст ждёт его освобождения. 60.
ошибку, но и не выведет изображение. 14. 61Использование блокировки. Объект
15Оси координат в XNA. Начало отсчёта в accelLock блокируется до окончания
системе координат в XNA находится в левом выполнения кода в блоке. object accelLock
верхнем углу экрана, если он находится в = new object(); void acc_ReadingChanged
альбомной ориентации Ось X направлена (object sender,
вправо, а ось Y — вниз при увеличении AccelerometerReadingEventArgs e) { lock
координаты X объекта он перемещается (accelLock) { accelState.X = (float)e.X;
вправо при увеличении координаты Y объекта accelState.Y = (float)e.Y; accelState.Z =
он перемещается вниз (а не вверх). 15. (float)e.Z; } }. 61.
16Структура Rectangle. Для того чтобы 62Использование блокировки. Этот код
вывести текстуру на экран, нужно указать метода Update также блокирует объект
положение и размер прямоугольной области, accelLock, если он не был заблокирован
которая ограничивает текстуру Структура другим методом При этом, выполнение кода
Rectangle хранит информацию о положении и внутри блока не будет прерван другим
размере прямоугольника. Rectangle методом. lock (accelLock) { lPaddleY =
ballRectangle = new Rectangle( 0, 0, lPaddleY - (accelState.X * lPaddleSpeed);
ballTexture.Width, ballTexture.Height), }. 62.
Color.White); 16. 63Использование звуков в XNA. Звуки
17Метод Draw. Метод Draw периодически являются частью контента и делятся на два
вызывается во время работы игры Этот метод типа Звуковые эффекты WAV-файлы хранятся в
должен содержать программный код для памяти, чтобы их можно было быстро
отрисовки изображения на экране. protected воспроизвести Фоновая музыка WMA- и
override void Draw(GameTime gameTime) { MP3-файлы воспроизводятся мультимедиа
GraphicsDevice.Clear(Color.CornflowerBlue) проигрывателем. 63.
base.Draw(gameTime); }. 17. 64Загрузка звуков. Метод LoadContent
18Группы спрайтов. Средства XNA для вызывается при запуске игры Звуки
двумерной графики содержат набор методов загружаются так же, как и другие ресурсы.
для отрисовки спрайтов, которые используют // Звуковые эффекты soundeffect dingsound;
графический процессор При отрисовке вся soundeffect explodesound; protected
информация об объектах, включая текстуры и override void loadcontent() { dingsound =
трансформации, представляются в виде content.Load<soundeffect>("ding
единого графического объекта Для создания quot;); explodesound =
такого объекта используется класс content.Load<soundeffect>("expl
SpriteBatch. 18. de"); }. 64.
19Методы SpriteBatch Begin и End. При 65Воспроизведение звука. Экземпляр
вызове метода Begin начинается класса SoundEffect содержит метод Play для
формирование группы операций отрисовки воспроизведения звука Звук воспроизводится
объекта При вызове метода End объект сразу же при вызове этого метода. if
подготавливается к рендерингу. Protected (ballY < 0 || ballY +
override void draw(gametime gametime) { ballRectangle.Height >
graphicsdevice.Clear(color.Cornflowerblue) GraphicsDevice.Viewport.Height) {
spritebatch.Begin(); // сюда нужно ballYSpeed = -ballYSpeed;
добавить код для отрисовки объектов dingSound.Play(); }. 65.
spritebatch.End(); base.Draw(gametime); }. 66Класс SoundEffectInstance. Класс
19. SoundEffectInstance используется для
20Метод SpriteBatch.Draw. Метод Draw управления воспроизведением звука Звук
класса SpriteBatch выполняет отрисовку воспроизводится сразу же при вызове этого
спрайта Методу передаются параметры: метода Экземпляр класса
текстура её положение (в виде SoundEffectInstance создаётся на основе
прямоугольника) цвет оттенка. объекта SoundEffect методом
spriteBatch.Draw(ballTexture, CreateInstance. engineInstance =
ballRectangle, Color.White); 20. engineSound.CreateInstance(); 66.
21Настройка положения. new Rectangle( 0, 67Воспроизведение звука. Метод Play
0, ballTexture.Width, ballTexture.Height). класса SoundEffectInstance воспроизводит
New rectangle( 0, 0, // положение 200,100) звук Методы Pause и Stop прерывают
// размер. New rectangle( 50, 50, // воспроизведения звука.
положение 60, 60) // размер. 21. engineInstance.Play(); ...
22Масштабирование изображения. Во время engineInstance.Pause(); ...
работы игра использует всю доступную engineInstance.Stop(); 67.
область экрана Можно определить размер 68Управление звуком. Свойства класса
экрана и другие параметры графического SoundEffectInstance позволяют настраивать
устройства: GraphicsDevice.Viewport.Width звуковые эффекты громкость в интервале от
GraphicsDevice.Viewport.Height Эту 0 до 1 тон в интервале от – 1 до +1
информацию можно использовать для панорамирование в интервале от – 1 (слева)
масштабирования изображения на экране. 22. до +1 (справа). engineInstance.Volume =
23Масштабируемая область. Этот код accelVector.Length() / volFactor;
создаёт квадратную область, размер которой engineInstance.Pitch =
равен 1/20 ширины экрана При изменении accelVector.Length() / soundFactor;
размера экрана использующий эту область engineInstance.Pan = 0; 68.
объект будет выглядеть одинаково. 69Состояние воспроизведения. Свойство
ballRectangle = new Rectangle( 0, 0, State хранит значение статуса
GraphicsDevice.Viewport.Width / 20, воспроизведения Этот код воспроизводит
GraphicsDevice.Viewport.Width / 20); 23. звук, если его воспроизведение остановлено
24Метод Update. Метод Update Свойство IsLooped можно использовать для
автоматически вызывается с частотой 30 раз задания циклического воспроизведения
в секунду во время работы игры Этот метод звука. if (engineInstance.State ==
предназначен для управления игровым миром. SoundState.Stopped) {
Protected override void update(gametime engineInstance.Play(); }. 69.
gametime) { // сюда нужно добавить код для 70Воспроизведение звуковых эффектов в
обновления изображения Silverlight. Для воспроизведения звуковых
base.Update(gametime); }. 24. эффектов в приложениях Silverlight нужно
25Пример метода Update. При каждом использовать класс XNA SoundEffect Для
вызове этого метода увеличиваются значения этого нужно выполнить действия: добавить
координат X и Y объекта Это приводит к его XNA в приложение Silverlight загрузить
перемещению по экрану. protected override звук из ресурсов воспроизвести звук с
void Update(GameTime gameTime) { помощью XNA обновлять систему XNA. 70.
ballRectangle.X++; ballRectangle.Y++; 71Добавление XNA в приложение
base.Update(gameTime); }. 25. Silverlight. Для использования XNA в
26Краткие итоги. XNA используется для проект приложения Silverlight нужно:
создания игр Создавать игры можно в Visual добавить ссылку на библиотеку
Studio Игра содержит методы для Microsoft.XNA.Framework добавить ссылки на
инициализации, обновления и отрисовки пространства имён Microsoft.XNA.Framework
изображения Игровые объекты хранятся в и Microsoft.XNA.Framework.Audio. 71.
виде набора текстур и прямоугольников, в 72Загрузка звуков. Звук добавляется в
которые эти текстуры вписаны. 26. проект так же, как и другие ресурсы Этот
27Создание игрового мира. Раздел 7.2. код выполняется при запуске приложения и
27. загружает звук из WAV-файла с помощью
28Темы раздела. Управление перемещением файлового потока Здесь используется поток,
спрайта Создание нескольких спрайтов поскольку в Silverlight нет
Управление объектами с помощью сенсорного контент-менеджера. Beep =
экрана Обнаружение столкновений Вывод SoundEffect.FromStream(
текста на экран. 28. TitleContainer.OpenStream("Sounds/bee
29Управление движением объекта. Класс .wav")); 72.
Rectangle содержит целочисленные свойства 73Воспроизведение звука. Для
для указания положения прямоугольника Для воспроизведения звука в Silverlight
более точного контроля над движением используются те же средства, что и в XNA
объекта можно использовать вещественные Для простого воспроизведения звука
переменные. float ballX = 0; float ballY = используется метод Play Если необходимо
0; ballRectangle.X = (int)(ballX + 0.5f); управлять воспроизведением звука, можно
ballRectangle.Y = (int)(ballY + 0.5f); 29. создать объект SoundEffectInstance и
30Перемещение объекта. В методе Update управлять его свойствами. beep.Play(); 73.
изменяются значения переменных, которые 74Обновление XNA. В этом коде
хранят координаты объекта При следующем запускается таймер, который будет
вызове метода Draw объект будет отрисован генерировать события с частотой 30 раз в
в другом месте экрана Переменные секунду Обработчик будет обновлять среду
ballXSpeed и ballYSpeed содержат значения XNA для обеспечения её корректной работы.
скорости перемещения объекта по DispatcherTimer timer = new
соответствующей координате. ballX = ballX DispatcherTimer(); timer.Tick += new
+ ballXSpeed; ballY = ballY + ballYSpeed; EventHandler(timer_Tick); timer.Interval =
30. TimeSpan.FromTicks(333333); timer.Start();
31Выход за пределы экрана. 31. void timer_Tick(object sender, EventArgs
32Отскок от границ экрана. Когда объект e) { FrameworkDispatcher.Update(); }. 74.
достигает границы экрана, он должен 75Выбор разрешения экрана. Приложения
изменить направление движения Для этого XNA могут указывать необходимые размеры
достаточно изменить знак скорости по экрана Графическая система Windows Phone
соответствующей координате на будет масштабировать изображение под
противоположный. if (ballX < 0 || ballX размер экрана рабочего устройства
+ ballRectangle.Width > Уменьшение разрешения экрана может
GraphicsDevice.Viewport.Width) { повысить быстродействие приложения Также
ballXSpeed = -ballXSpeed; }. 32. приложение может поддерживать различные
33Игровые переменные. // Шар texture2d режимы ориентации экрана. 75.
balltexture; rectangle ballrectangle; 76Полноэкранный режим. Windows Phone
float ballx; float bally; float ballxspeed использует верхнюю часть экрана для вывода
= 3; float ballyspeed = 3; // левая информации Приложения XNA могут
платформа texture2d lpaddletexture; перекрывать эту область, если работают в
rectangle lpaddlerectangle; float полноэкранном режиме Для настройки экрана
lpaddlespeed = 4; float lpaddley; // используются свойства объекта graphics.
правая платформа создаётся аналогично // 76.
расстояние от платформы до границы экрана 77Отмена блокировки экрана. Если
int margin; 33. приложение использует акселерометр, но не
34Загрузка игровых текстур. При запуске использует сенсорный экран, то
игры метод LoadContent загружает игровые периодически может вызываться экранная
текстуры и ресурсы. protected override заставка Для её отключения можно
void LoadContent() { ballTexture = использовать свойство IsScreenSaverEnabled
Content.Load<Texture2D>("ball&q класса Guide. Guide.IsScreenSaverEnabled =
ot;); lPaddleTexture = false; 77.
Content.Load<Texture2D>("lpaddl 78Краткие итоги. Для управления игровыми
"); rPaddleTexture = объектами можно использовать акселерометр
Content.Load<Texture2D>("rpaddl Приложения XNA и Silverlight могут
"); }. 34. воспроизводить звуковые эффекты, используя
35Настройка платформ. Этот код встроенные библиотеки Приложения для
настраивает положение и размеры панелей. Windows Phone могут использовать различные
margin = GraphicsDevice.Viewport.Width / режимы ориентации экрана. 78.
20; lPaddleRectangle = new Rectangle( 79Совместное использование XNA и
margin, 0, GraphicsDevice.Viewport.Width / Silverlight. Раздел 7.4. 79.
20, GraphicsDevice.Viewport.Height / 5); 80Темы раздела. Создание комбинированных
rPaddleRectangle = new Rectangle( проектов Использование XNA в проекте
GraphicsDevice.Viewport.Width – Silverlight Переход на страницу игры XNA
lPaddleRectangle.Width - margin, 0, Игровой движок XNA в Silverlight
GraphicsDevice.Viewport.Width / 20, Совместное использование элементов XNA и
GraphicsDevice.Viewport.Height / 5); 35. Silverlight на одной странице. 80.
36Управление платформой. Для управления 81XNA и silverlight. Можно создавать
платформой можно использовать сенсорный проекты, в которых совместно используются
экран Сенсорный экран Windows Phone может XNA и Silverlight XNA выполняется внутри
отслеживать до четырёх одновременных страницы Silverlight XNA удобнее
касаний, а также определить начало и использовать для создания игрового
окончание касания В нашем примере процесса, а Silverlight — для создания
платформа должна перемещаться вверх и интерфейса приложения Также можно
вниз. 36. размещать элементы Silverlight на экране
37Класс TouchPanel. Класс TouchPanel игры XNA. 81.
содержит метод GetState, который 82Комбинированное решение.
возвращает информацию о сенсорном вводе Комбинированное решение Silverlight и XNA
Объекты TouchLocation описывают текущий содержит три проекта проект Silverlight
статус сенсорного экрана Возвращаемая библиотека XNA игровой контент Эти проекты
коллекция может содержать до четырёх автоматически создаёт Visual Studio
элементов. TouchCollection touches = Главным проектом является проект
TouchPanel.GetState(); 37. Silverlight. 82.
38Информация о сенсорном вводе. 83Страница игры XNA. Игра XNA работает
Сенсорный ввод используется для на одной из страниц Silverlight, которая
перемещения платформы вверх и вниз. if является частью проекта При переходе на
(touches.Count > 0) { if эту страницу игра запускается При этом,
(touches[0].Position.Y > система Silverlight продолжает быть
GraphicsDevice.Viewport.Height / 2) { активной и обрабатывать события. 83.
lPaddleY = lPaddleY + lPaddleSpeed; } else 84Переход на страницу игры. Это код
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. обработчика нажатия на кнопку, который
38. находится в файле MainPage.xaml.cs При
39Информация о сенсорном вводе. Этот код переходе на страницу игры она запустится.
проверяет, было ли касание. if private void Button_Click(object sender,
(touches.Count > 0) { if RoutedEventArgs e) {
(touches[0].Position.Y > NavigationService.Navigate(new
GraphicsDevice.Viewport.Height / 2) { Uri("/GamePage.xaml",
lPaddleY = lPaddleY + lPaddleSpeed; } else UriKind.Relative)); }. 84.
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. 85Страница игры. Эти методы управляют
39. игровым процессом Метод OnNavigatedTo
40Информация о сенсорном вводе. заменяет методы Initialise и LoadContent
Получение информации о касании. if Метод OnNavigatedFrom приостанавливает
(touches.Count > 0) { if игру Метод OnUpdate заменяет метод Update
(touches[0].Position.Y > Метод OnDraw заменяет метод Draw.
GraphicsDevice.Viewport.Height / 2) { protected override void
lPaddleY = lPaddleY + lPaddleSpeed; } else OnNavigatedTo(NavigationEventArgs e)
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. protected override void
40. OnNavigatedFrom(NavigationEventArgs e)
41Информация о сенсорном вводе. private void OnUpdate(object sender,
Определение, было ли касание в нижней GameTimerEventArgs e) private void
половине экрана. if (touches.Count > 0) OnDraw(object sender, GameTimerEventArgs
{ if (touches[0].Position.Y > e). 85.
GraphicsDevice.Viewport.Height / 2) { 86Элементы Silverlight в XNA.
lPaddleY = lPaddleY + lPaddleSpeed; } else Комбинированный проект не содержит
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. XAML-код для страницы XNA Чтобы вывести
41. элементы Silverlight на экран, необходимо
42Информация о сенсорном вводе. самостоятельно создать дополнительный код
Перемещение платформы вниз, если для преобразования элементов Silverlight в
пользователь коснулся нижней половины набор текстур, которые использует XNA для
экрана. if (touches.Count > 0) { if вывода на экран. 86.
(touches[0].Position.Y > 87Добавление элементов Silverlight. Этот
GraphicsDevice.Viewport.Height / 2) { код содержит два элемента текстовый блок
lPaddleY = lPaddleY + lPaddleSpeed; } else для вывода счёта кнопка для завершения
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. игры. <Grid
42. x:Name="LayoutRoot">
43Информация о сенсорном вводе. <StackPanel> <TextBlock
Перемещение платформы вверх, если x:Name="ScoreTextBlock"
пользователь коснулся верхней половины Text="0:0"
экрана. if (touches.Count > 0) { if TextAlignment="Center"
(touches[0].Position.Y > Style="{StaticResource
GraphicsDevice.Viewport.Height / 2) { PhoneTextTitle1Style}" />
lPaddleY = lPaddleY + lPaddleSpeed; } else <Button Content="Quit"
{ lPaddleY = lPaddleY - lPaddleSpeed; } }. Name="quitButton"
43. Width="480"
44Обнаружение столкновений. Необходимо, Click="quitButton_Click" />
чтобы при столкновении с платформой шар </StackPanel> </Grid> 87.
отскакивал от неё Для этого необходимо 88Рендеринг элементов Silverlight. Класс
проверить, пересекаются ли два UIElementRenderer выполняет рендеринг
прямоугольника, в которых вписаны текстуры элементов страницы Silverlight в текстуры
объектов Для этого можно использовать XNA Эти текстуры должны выводиться на
метод Intersects класса Rectangle. if экран в методе onDraw. UIElementRenderer
(ballRectangle.Intersects(lPaddleRectangle elementRenderer; 88.
) { ballXSpeed = -ballXSpeed; }. 44. 89Создание объекта для рендеринга.
45Добавление шрифта. Для вывода текста Экземпляр класса UIElementRenderer
на экран используется объект SpriteFont Он создаётся при запуске игры Конструктор
позволяет задавать необходимые свойства класса принимает в качестве параметров
шрифта Свойства шрифта находятся в ширину и высоту области экрана для
XML-файле, который можно редактировать. рендеринга. if (null == elementRenderer) {
45. elementRenderer = new
46Загрузка шрифта. Контент-менеджер UIElementRenderer(this, (int)ActualWidth,
управляет шрифтами так же, как и другими (int)ActualHeight); }. 89.
игровыми ресурсами Шрифт загружается в 90Рендеринг элементов Silverlight. Этот
переменную, которую можно использовать в код выполняет рендеринг элементов
методах. Spritefont font; protected Silverlight в текстуру XNA, которая будет
override void loadcontent() { // остальная отрисована в игре Этот код выполняется в
часть метода loadcontent font = методе onDraw. elementRenderer.Render();
content.Load<spritefont>("messa ...
efont"); }. 46. spriteBatch.Draw(elementRenderer.Texture,
47Отрисовка текста. Метод DrawString Vector2.Zero, Color.White); 90.
отрисовывает строку текста на экране, 91Краткие итоги. XNA и Silverlight можно
используя загруженный шрифт. Protected совместно использовать в одном решении
override void draw(gametime gametime) { Игра XNA может запускаться на странице
graphicsdevice.Clear(color.Cornflowerblue) приложения Silverlight Страница XNA не
spritebatch.Begin(); содержит файла с кодом XAML, поскольку
spritebatch.Drawstring( font, "hello элементы Silverlight преобразуются в
world", new vector2(100, 100), текстуру XNA Для вывода на экран элементов
color.White); // остальная часть метода Silverlight используется класс
draw }. 47. UIElementRenderer. 91.
48Краткие итоги. Игровые объекты можно
Создание приложений XNA для Windows Phone.pptx
http://900igr.net/kartinka/informatika/sozdanie-prilozhenij-xna-dlja-windows-phone-72995.html
cсылка на страницу

Создание приложений XNA для Windows Phone

другие презентации на тему «Создание приложений XNA для Windows Phone»

«Linux и Windows» - Microsoft Windows. Безопасный режим. История Linux. Так в 1991 году родилась Linux. Популярность новой версии Windows объяснялась несколькими причинами. Ушли в прошлое зазубринки, корявости и другие неприятные муарики. Достоинства Windows. Windows по своей архитектуре является монолитной, а не модульной системой.

«Программы в Windows» - Описание основных элементов программы «Проводник». ipconfig.exe. Блокнот (Notepad) – простейший текстовый редактор. Строка меню. Адресная книга. Удобный диалог, упаковывает файлы в exe-файлы. iexpress.exe. Вы можете использовать адресную книгу для хранения контактов. TCP/IP Ping Command. Управление воспроизведением.

«Windows Vista» - Сейчас в мире появляются новые системы, которые имеют ряд преимуществ. Media Center. Поэтому возникает вопрос «быть или не быть» новой операционной системе. Введение. Windows Vista. Содержание. Рабочий стол Windows XP. Проводник программ. Введение Windows XP Windows Vista Сравнение Vista и XP Список используемой литературы.

«Операционная система Windows XP» - Надежная и безопасная работа вашего компьютера! Более безопасная работа в Интернет. Активация продукта: мифы и реальность. Бизнес-ПК. Улучшенная обработка вложений. Мы мобильны – обладаем цифровой беспроводной технологией! Почему на современном компьютере должна быть установлена Microsoft Windows XP.

«Windows live» - И не бойтесь испортить свой проект! Выполни окончательное сохранение своего фильма – Сохранить фильм ? Стандартная чёткость. Практическая работа. Для вставки музыки используй кнопку панели инструментов ленты Главная. Поработай над изменением музыки. Музыка твоего фильма. На сегодняшнем занятии мы займёмся музыкальным сопровождением фильма.

«Программы для Windows» - Недостатки Windows. Многозадачность. Идущие в комплекте с системой приложения.(Видео). Поддержка масштабируемых шрифтов. С Windows XP идет MS Windows XPMedia Player. Работа в среде Windows не вынуждает отказываться от использования DOS программ. «Окна». за и против. Средства обмена данными. Исследование.

Windows

30 презентаций о Windows
Урок

Информатика

130 тем
Картинки
900igr.net > Презентации по информатике > Windows > Создание приложений XNA для Windows Phone