Предыдущая Следующая
Например, приставка Xbox 360 не имеет мыши, поэтому в программах для консоли нельзя использовать методы и классы, направленные на работу с мышью. В свою очередь, для компьютерных игр можно задавать различные разрешения экрана, тогда как Xbox 360 использует в качестве монитора телевизор, который имеет свою специфику вывода изображения на экран. Эти и другие исключения составляют мышиную долю (примерно 3-5%) от всей библиотеки XNA Framework. При правильном подходе в использовании библиотечных классов можно написать программу, которая на 100% будет работать как на консоли, так и на компьютере и, надеемся, на Windows Mobile тоже.
Еще одной важной особенностью платформы XNA Framework является значительное упрощение в подходе реализации игр для всех платформ. Прежде чем начать писать именно исходный код игр с использованием DirectX SDK, необходимо создать большую кучу различных объектов, создать окно, настроить видеоадаптер и т. д. Применяя платформу XNA Framework, вы все перечисленное и
даже больше создадите за пару строк исходного кода, при этом эти строки сформирует за вас сам компилятор и XNA Framework! Работать стало проще, быстрее, и главное - нет борьбы и драк с DirectX... Роль DirectX в этом деле - это низкоуровневая прослойка API, к которой вы не касаетесь никоим образом. Все манипуляции производятся только через библиотеку XNA Framework.
2.4.1. Уровни абстракции XNA
Так же как и в случае с DirectX, мы можем графически представить взаимодействие приложений через XNA Framework с аппаратной частью устройства. Посмотрите на рис. 2.2, где представлены уровни абстракции платформы XNA Framework.
Рис. 2.2. Взаимодействия XNA и аппаратной части устройства
Как видно из рис. 2.2, схема работы XNA Framework напоминает схему работы с DirectX, но в основе библиотеки XNA лежат другие компоненты и механизмы взаимодействия с аппаратной частью устройства. На диаграмме также видно, что вся платформа XNA Framework состоит из трех уровней абстракции, через которые программа обращается к системе.
24 Платформа XNA
Платформа XNA Framework 25
□ Игра - это самый высокий уровень абстракции, включающий в себя исходный код игры, различные игровые данные и компоненты. Это все то, что вы пишите и создаете лично сами.
□ Расширенный каркас (Extended Framework) - расширенный каркас системных высокоуровневых классов содержит простые механизмы для работы с загрузкой моделей, текстур и других графических элементов. В состав этого каркаса входят Application Model и Content Pipeline. Со временем эта часть библиотеки может пополняться новыми компонентами, что позволит еще больше упростить создание игр. Методы, классы, структуры этого уровня абстракции можно смело использовать в своих программах. Предыдущая Следующая
|