Game Studio
В данной презентации будет показано, как сделать первый проект в XNA Game Studio 4.0. Аннотация
Содержание 1. Цели и задачи Цели и задачи 2. Необходимое ПОНеобходимое ПО 3. Создание проекта Создание проекта 4. Файл Game1. cs Файл Game1. cs 5. Загрузка контента Загрузка контента 6. Рисование Рисование 7. Управление Управление 8. Первое построение Первое построение 9. Заключение Заключение 10. Список использованных источников Список использованных источников
Цели и задачи 1. Установить XNA Game studio 2. Разобрать структуру файла Game1. cs 3. Создать пустой проект 4. Добавить контент 5. Сформировать заготовку для игры Арканойд 6. Успешно откомпилировать проект
Необходимое ПО Для работы с XNA GS нам потребуются следующие программы: 1. Microsoft Visual Studio (подойдет Express версия)Microsoft Visual Studio 2..Net Framework 4(Должен установиться вместе со студией) 3. XNA Game StudioXNA Game Studio 4. Небольшие знания C#, мозги и руки.
Создание проекта Надеюсь установка ПО не вызвала проблем, поэтому я сразу перейду к созданию проекта. 1. Открываем Microsoft Visual Studio 2. Файл – Создать – Проект… 3. Visual C# - XNA Game Studio 4.0 – Windows Game (4.0) 4. Выбираем имя проекта и жмем «ОК»
Файл Game1. cs Перед нами открылось окно с файлом Game1. cs в нем расположен основной код игры. Я удалил все комментарии, чтобы весь код уместился в скриншот. Давайте рассмотрим структуру файла.
Файл Game1. cs Разбор структуры Что же мы можем видеть: Стандартный конструктор Game1() Сюда можно написать то, что будет выполняться до вывода окна игры. Переопределяемый метод Initialize() Тоже что-нибудь до вывода окна. Метод LoadContent() Загрузка вашего контента: текстур, моделей, звуков и прочей нечисти. Метод UnloadContent() Очищает память от занимаемого контента(всего). Можно использовать при загрузке новых карт. Метод Update(GameTime gameTime) Здесь надо описывать всю логику игру. Ввод с клавиатуры, мыши, перемещение и т.д Метод Draw(GameTime gameTime)* Тут надо размещать код для отрисовки вашего творения. *Тут вам не Здесь, но в некоторых случаях вычисления можно производить и этом методе. Нам же потребуется всего 3 метода: LoadContent, Update и Draw. Поехали!
Загрузка контента В обозревателе решений правой кнопкой жмем на проекте WindowsGame1Content(Content) – Добавить – Существующий элемент. И выбираем файла рисунка. Желательно выбрать что-нибудь прямоугольной формы, т.к. этот рисунок будет нашим арканойд Padом.
Загрузка контента Переходим к файлу game1. cs в функцию LoadContent. В ней пишем следующее: Где «имя_файла», это имя рисунка, который мы загрузили( без расширения ). Далее жмем Alt+Shift+F10 – сформировать заглушку поля или правой кнопкой на arcanoidPad – Сформировать – Поле. Тем самым мы создали экземпляр класса Texture2D, который и будет нашим padом.
Рисование Идем в функцию Draw. В ней пишем следующее: Разберем то, что мы написали: spriteBatch.Begin() и End() это функции начала и конца блока рисования. Их просто надо писать. Просто. Надо. Писать. В spriteBatch.Draw() мы сначала пишем переменную содержащую Texture2D с нашей дощечкой, затем прямоугольник, в котором эта дощечка перемещается(в будущем именно его координату x, которая сейчас 0, мы и будем менять в зависимости от положения мыши), а затем цвет этой текстуры. Можете сами заменить число 0 на x и объявить эту переменную.
Управление Итак, если сейчас мы запустим проект(клавиша F5), то увидим следующее: Я нафотошопил какую-то батарейку В данный момент доска не двигается. Исправим это.
Управление Перейдем в функцию Update*: *Если вы не изменили в шаге Рисование 0, в функции Draw, на x, то лучше это сделать сейчас Итак что же мы написали? Мы присваиваем координате X, координату мыши по горизонтальной оси, смещенной в лево на 32 единицы(половину ширины padа). Если сейчас запустить проект, то доска будет двигаться, но будет выезжать за окно игры. Исправим это.
Управление Изменим содержимое функции Update на следующий код: Что же мы дописали? Мы внесли проверку, находится ли мышь в окне с игрой, и если она вышла за ее пределы(по оси OX) мы присваиваем координату X ноль или правую координату окна минус ширину доски. Теперь pad будет двигаться нормально.
Первое построение Ура! Пришло время проверить наше творение. Жмем на кнопку F5 или на этот зеленый треугольничек: И если вы все сделали правильно, у вас на экране появится следующее…
Заключение Ну вот мы и создали первый проект в XNA Game Studio. Если появится желание, то можно доработать это проект до полноценного акранойда. Для кубиков создать отдельный класс, для шарика отдельный класс, для проверки столкновений использовать булево выражение Rectangle.Intersect(Rectangle rect), которое вернет true, если объекты пересекаются и false, если нет. Удачного программирования!
Список использованных источников 1. Текст и исходный код – мозг. 2. Скриншоты – Visual Studio + Photoshop 3. Фон – Photoshop 4. Логотип XNA – blogs.msdn.com