Входные структуры контроллера XNA C # - PullRequest
3 голосов
/ 28 мая 2011

Я просмотрел всю сеть и мне нужна помощь. Есть ли где-нибудь ссылка на пример кода всех кнопок для контроллера Xbox 360. Например:

if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
    this.Exit();

Я знаю, что это выходит из игры, если вы снова нажмете на контроллер.

Мне просто нужны примеры состояний для джойстиков, d-pad и всех кнопок.

Ответы [ 2 ]

6 голосов
/ 28 мая 2011

Вы проверили входную документацию MSDN XNA ?На самом деле примеров нет, но, похоже, у вас есть представление о том, что вы делаете с входными данными.

Статьи там содержат всю информацию о входах.

Все кнопки контроллера , к которым вы можете получить доступ через GamePad.GetState(PlayerIndex.One).Buttons

Джойстик , который вы можете получить через GamePad.GetState(PlayerIndex.One).Thumbsticks

И D-Pad , который вы можете получить через GamePad.GetState(PlayerIndex.One).DPad

1 голос
/ 28 мая 2011

Кроме того, это действительно хорошая идея написать оболочку для кнопок.

Под этим я подразумеваю: написать класс, который проверяет каждую кнопку и сохраняет состояние кнопки ВВЕРХ в этом кадре и ВНИЗ последней.frame, а затем он может просто сообщить, что кнопка была нажата.

Это избавляет вас от необходимости проверять каждый кадр и поддерживать состояние в вашем клиентском коде.Извлеките свой класс из IGameComponent и добавьте его в коллекции компонентов класса Game во время выполнения.

...