Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Если вы хотите создать в игре механизм прослушивания четырех джойстиков, то можно записать следующий блок кода:

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г(сиггепгБгаге.Виг-Г-опз.У == Виг-гопБгаге.РгеззеС) // заданные события


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz