Предыдущая Следующая
5.5. Механизм работы программы
Изучив исходный код обоих классов Program и Gamel , необходимо разобраться с общим механизмом работы всей программы и тем, как все рассмотренные нами методы на самом деле функционируют. Итак, откомпилировав и собрав проект FirstProject, вы тем самым создали готовую программу, которая находится в папках Code\Chapter5\FirstProject\bin\x86\Release или Debug.
После запуска программы среда времени выполнения CLR ищет входную точку в приложении. Этой точкой является метод main() класса Program. Выполнение этого метода приводит к созданию нового класса Gamel. В момент создания класса Gamel управление программой на какой-то момент переходит к файлу Gamel.cs. Там происходит инициализация всех глобальных переменных класса Gamel, а затем выполнение исходного кода конструктора класса. Как только конструктор создал класс Gamel, управление программой опять возвращается к классу Program и исходному коду файла Program.cs.
После этого в работу вступает метод game.Run() класса Program. Этот метод создает системный поток и запускает цикл, в котором происходит выполнение соответствующих методов класса Gamel . В частности, первым в дело вступает метод Initialize() класса Gamel. В методе Initialize() происходит инициализация всех компонентов игры, которые в нем расположены. Затем управление программой переходит к методу LoadGraphicsContent(). Здесь происходит загрузка всей графической составляющей проекта, после чего в цикле, созданном методом game.Run() класса Program, происходит цикличное выполнение двух методов - Update() и Draw().
Метод Update() постоянно следит за обновлением состояния игры, а метод Draw() рисует графику на экране монитора. Работа этих методов выполняется до тех пор, пока не последует команда выхода из программы. Таким образом, механизм работы программы сводится к организации фактически бесконечного цикла, в котором происходит выполнение методов Update() и Draw() для постоянной смены состояния игры или цикличной смены кадров в этой самой игре.
Не так все и сложно на самом деле, не правда ли?! Достаточно хорошо продумать общую концепцию структуры будущих классов и на базе механизма работы
классов Program и Gamel реализовать свою идею. В дальнейшем мы так и будем поступать, с той лишь разницей, что параллельно изучению платформы XNA и XNA Game Studio Express мы будем создавать еще свою собственную небольшую игру.
Для того чтобы более подробно изучить работу проекта FirstProject, используйте отладчик инструментария Visual C# Express. Для этого необходимо откомпилировать проект и выполнить команды Debug = Step Into либо нажать на клавиатуре клавишу F11. Инструментарий Visual C# Express запустит механизм пошаговой отладки. Каждое последующее нажатие клавиши F11 (Debug = Step Into) будет перемещать вас на один шаг вперед в работе программы. Таким образом, можно проследить в пошаговом режиме весь механизм функционирования программы и ее устройство. Предыдущая Следующая
|