Студопедия — Розробка програмних модулів
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Розробка програмних модулів






 

Диаграмма классов разработанного приложения представлена на рисунке 3.6.

 

Рис. 3.6. Диаграмма классов разработанной платформенной игры

 

В таблице 3.1 представлено описание классов приложения, в таблице 3.2 – описание некоторых переменных.

 

Таблица 3.1. Описание объектов программы

Класс Описание
AnimatedSprite Хранит в себе полную информацию о персонаже (анимация, гравитация, перемещение, весь функциональный ряд)
Block Хранит в себе информацию о блоках (спрайт блоков и т.д)
Bonus Аналогичен классу Block только хранит информацию о бонусах
Enemy Аналогичен классу AnimatedSprite, исключая некоторые функции функционального ряда
Game1 Тело программы

 

Таблица 3.2. Описание переменных программы

Переменная Описание
Texture2D idle, run, jump и т.д. Хранят в себе изображение или анимационный спрайт
Bool isRunning Переменная, отвечающая за перемещение персонажа вправо или влево
Bool isJumping Переменная, отвечающая за прыжок персонажа
Bool isStop Переменная, отвечающая за остановку персонажа
Rectangle rect Структура хранит в себе позицию прямоугольника на экране, ширину и высоту. Фактически она и есть наш персонаж на экране

 

Фрагменты листингов представлены в Приложении А.

 

Framework XNA Game Studio поддерживает различные способы организации сетевого взаимодействия игр.

XNA Game Studio предоставляет через пространства имен Microsoft.Xna.Framework.GamerServices и Microsoft.Xna.Framework.Net набор функций и компонентов, позволяющих создавать главные узлы многопользовательских игр (к которым могут подключаться другие игроки), поддерживать соединения и обмен сообщениями между игроками и главным узлом, и включает многие дополнительные возможности, такие как встроенная поддержка для голосовых коммуникаций.

Главным узлом игры может быть один из игроков в одноранговых играх, или серверная машина, если используется подход клиент/сервер. Вот четыре этапа создания главного узла:

1. Зарегистрировать игрока (с локальным или удаленным профилем).

2. Создать сессию, установить ее свойства, включая доступные слоты.

3. Подождать, пока другие игроки подключатся и будут готовы.

4. Сменить состояние сессии на «Игра запущена».

Аналогичным образом можно разделить создание игрового клиента на четыре простых этапа, которые подходят как для одноранговых, так и для клиент/серверных игр:

1. Зарегистрировать игрока (с локальным или удаленным профилем).

2. Найти какую-нибудь сессию со свободными слотами для подключения.

3. Подключиться к сессии.

4. Сменить состояние игрока на «Готов».

Рассмотрим создание сессии в XNA Game Studio детально.

Класс XNA Framework NetworkSession представляет многопользовательскую сессию, и используется для создания, поиска, присоединения и завершения сессии. Он также предоставляет набор свойств, которые позволяют собирать информацию о текущей сессии.

Для создания новой сессии используется метод NetworkSession.Create, получающий до пяти параметров:

· Тип сессии, который может быть NetworkSessionType.Local (нет сети, используется для игр на разделенном экране, работает только на Xbox 360), NetworkSessionType.SystemLink (соединение двух машин, Xbox 360 или PC, в одной и той же подсети), NetworkSessionType.PlayerMatch (позволяет соединение через серверы LIVE) и NetworkSessionType.Ranked (используется для оцененных коммерческих игр, прошедших сертификацию Xbox LIVE).

· Максимальное количество локальных (на той же машине) игроков.

· Количество в сессии слотов для игроков (от 2 до максимального количества в 31 игрок).

· Количество закрытых слотов (необязательный параметр), устанавливающее сколько слотов резервируется для игроков, присоединяющихся по приглашениям. Если это число равно количеству слотов сессии, сессия будет принимать только приглашенных игроков.

· Свойства сессии (необязательный параметр): коллекция определяемых программистом свойств, которые можно использовать для определения любых специфичных для игры значений, таких как уровень сложности игры или ограничение времени сессии. Эти свойства, хранящиеся как класс NetworkSessionProperties, также применяются для фильтрации результатов, когда вы ищете сессию для подключения.

Чтобы создать сессию необходимо определить несколько закрытых переменных уровня класса и метод CreateSession в классе NetworkHelper:

private NetworkSession session = null; // Игровая сессияprivate int maximumGamers = 2; // Могут играть только двоеprivate int maximumLocalPlayers = 1; // Нет разделенного экрана, // только удаленные игроки public void CreateSession(){ if (session == null) { session = NetworkSession.Create(NetworkSessionType.SystemLink, maximumLocalPlayers, maximumGamers); }}

Создать многопользовательскую игровую сессию гораздо XNA проще. Однако, для работы этой сессии, чтобы она надлежащим образом обрабатывала сетевые пакеты, необходимо вызывать ее метод Update в каждом обновлении игрового цикла. Для этого необходимо включить метод Update в класс NetworkHelper:

public void Update(){ if (session!= null) session.Update();}

Лучший способ вызывать этот метод в каждом игровом цикле — включить следующую строку в начало метода Game1.Update:

networkHelper.Update();

 

 







Дата добавления: 2015-09-04; просмотров: 447. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия