Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

if (currentState.Triggers.Right > 0.9f)

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

9.1.4. GamePadThumbSticks

Структура GamePadThumbSticks основана на том же принципе работы, что и рассмотренная выше структура GamePadTriggers, с той лишь разницей, что используются не кнопки джойстика, а рычаги. Поскольку у джойстика два рычага, то имеются два способа записи - ThumbSticks.Left и ThumbSticks.Right. Дополнительно вы можете определять, в какую из сторон, или в какую часть плоскости координатной системы, перемещать своего главного героя, например ThumbSticks.Left.X или ThumbSticks.Left.Y.

Для рычажков степень нажатия в одну из сторон - не менее важная часть, как и для кнопок. Если, например, назначить на вращение камеры значение 0.99f, то камера будет медленно и несколько заторможенно реагировать на нажатие рычага

174 Работа с джойстиком

джойстика. Если назначить значение O.lf, то скорость реакции будет очень быстрой. В следующем примере дается блок кода для левого рычага ThumbSticks.Left.

if(currentState.ThumbSticks.Left.X < -0.3f) // заданные события

if(currentState.ThumbSticks.Left.X > 0.3f)

// заданные события

if(currentState.ThumbSticks.Left.Y > 0.3f)

// заданные события

if(currentState.ThumbSticks.Left.Y < -0.3f)

// заданные события

Для правого рычажка джойстика ThumbSticks.Right конструкция кода аналогична.

if(currentState.ThumbSticks.Right.X < -0.9f)

// заданные события

if(currentState.ThumbSticks.Right.X > 0.9f)

// заданные события

if(currentState.ThumbSticks.Right.Y > 0.9f)

// заданные события

if(currentState.ThumbSticks.Right.Y < -0.9f)

// заданные события

Заметьте, что для определения степени нажатия правого рычажка используется значение O.9f, которое в три раза больше, чем значение O.3f для левого рычага. Сделано это было специально. Запустите с диска пример GamePadControl и посмотрите, как отличаются между собой в управлении два рычага по степени нажатия и реакции на действия пользователя.

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


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

Горяченькое

Друзья

Hosted by uCoz