Предыдущая Следующая
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 мы будем создавать еще свою собственную небольшую игру. Предыдущая Следующая
|