Предыдущая Следующая
Если вы хотите создать в игре механизм прослушивания четырех джойстиков, то можно записать следующий блок кода:
GamePadState currentStatel = GamePad.GetState(Playerlndex.One); GamePadState currentState2 = GamePad.GetState(Playerlndex.Two); GamePadState currentState3 = GamePad.GetState(Playerlndex.Thre); GamePadState currentState4 = GamePad.GetState(Playerlndex.Four);
Думается, тут все ясно: PlayerIndex в каждом новом вызове имеет новый индекс, который соответствует англоязычному исчислению; один, два, три и четыре. Если вы в игре используете только один джойстик, то всегда необходимо начинать с первого индекса. Нельзя вызывать второй или третий джойстик без вызова первого, а точнее можно, но если к приставке подключен только один джойстик, то он по умолчанию PlayerIndex.One.
В следующих подразделах рассматриваются способы работы с элементами управления джойстика. На диске в папке Chapter9\GamePadControl вы найдете проект, который показывает на практике работу всех кнопок и рычажков джойстика. В этом проекте я вывел на экран телевизора пять спрайтов. Каждый спрайт выполнен в виде таблички с названием той или иной структуры. Нажимая кнопки или двигая рычаги джойстика, вы в программе по экрану этими действиями будете перемещать таблички с соответствующими названиями. Изучите следующие четыре подраздела, а потом запустите этот проект на приставке.
9.1.1. GamePadButtons
Структура GamePadButtons позволяет определить, нажата кнопка или опущена. Если вы хотите определить, нажата кнопка или нет, то используется следующая запись:
172 Работа с джойстиком
11(сиггепгЗгаге.Ви1Г-Г-опз.А == Виг-Г-опЗгаге.Ргеззес!) // заданные события
Эта строка кода предназначена для кнопки с буквой А. Если вам нужно определить, отпущена ранее нажатая кнопка А или нет, то необходимо использовать другую конструкцию кода:
11(сиггепгБгаге.Виг-Г-опз.А == Виг-Г-опБгаге.ИетеазеС) // заданные события
В этой строке происходит уже проверка на отпускание нажатой ранее кнопки. Далее перечислены все имеющиеся кнопки структуры ОашеРаСВиг.г.оп. Запустите с диска проект GamePadControl и убедитесь, что вы понимаете, о каких именно кнопках идет речь.
11(сиггепгБгаге.Виг-Г-опз.А == Виг-гопБгаге.РгеззеС) // заданные события
1г(сиггепгБгаге.Виг-Г-опз.В == Виг-гопБгаге.РгеззеС) // заданные события
1г(сиггепгБгаге.Виг-Г-опз.Х == Виг-гопБгаге.РгеззеС) // заданные события
1г(сиггепгБгаге.Виг-Г-опз.У == Виг-гопБгаге.РгеззеС) // заданные события Предыдущая Следующая
|