Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

5.7. Механизм работы программы

Теперь поговорим о механизме работы программы на приставке. После того как вы откомпилировали и собрали программу, в рабочем каталоге проекта FirstProject в папке Code\Chapter5\FirstProject\bin\Xbox360\Release или Debug появляется готовая программа, которая в дальнейшем при выполнении команды Deploy в Visual C# Express передается на приставку Xbox 360. После запуска программы на консоли среда времени выполнения CLR ищет входную точку в приложении. Этой точкой является метод main() класса Program. Как вы помните, выполнение этого метода приводит к запуску системного потока и созданию нового класса Gamel.

В момент создания класса Gamel управление программой на какой-то момент переходит к файлу Game1.cs. Там происходит инициализация всех глобальных переменных класса Gamel, а затем выполнение исходного кода конструктора класса. Как только класс Gamel создан, управление программой опять возвращается к классу Program и исходному коду файла Program.cs.

После этого в работу вступает метод game.Run() класса Program. Этот метод создает системный поток, в котором происходит выполнение соответствующих методов класса Gamel. В частности, первым в дело вступает метод Ini-tialize() класса Gamel. В методе Initialize() происходит инициализация всех компонентов игры, которые в нем расположены. Затем управление програм-

Удаление программы с Xbox 360 115

мой переходит к методу LoadGraphicsContent(). Здесь происходит загрузка всей графической составляющей проекта, после чего в потоке, созданном методом game.Run() класса Program, происходит цикличное выполнение двух методов: Update() и Draw().

Метод Update() постоянно следит за обновлением состояния игры, а метод Draw() рисует графику на экране телевизора. Работа этих методов выполняется до тех пор, пока не последует команда выхода из программы. Таким образом, механизм работы программы сводится к организации фактически бесконечного цикла, в котором происходит выполнение методов Update() и Draw() для постоянной смены состояния игры или цикличной смены кадров в этой самой игре.

Не так все и сложно на самом деле, не правда ли? Достаточно хорошо продумать общую концепцию структуры будущих классов и на базе механизма работы классов Program и Gamel реализовать свою идею. В дальнейшем мы так и будем поступать, с той лишь разницей, что параллельно изучению платформы XNA и XNA Game Studio Express мы будем создавать еще свою собственную небольшую игру.


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz