Предыдущая Следующая
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 и посмотрите, как отличаются между собой в управлении два рычага по степени нажатия и реакции на действия пользователя.
В играх, где очень важно быстро реагировать на изменение игровых событий, нельзя выбирать слишком большие значения для сравнения степени нажатия рычагов. Но, с другой стороны, слишком маленькое значение может помешать установить точно, например, прицел на врага. К выбору сравниваемых значений нужно подходить очень осторожно! Предыдущая Следующая
|