Глюк с переопределением ввода - Форум Игроделов
Ср, 08 Май 2024, 02:17 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNREAL ENGINE и UDK » ОБЩИЕ ВОПРОСЫ » Глюк с переопределением ввода
Глюк с переопределением ввода
ArgentumДата: Пн, 12 Май 2014, 17:30 | Сообщение # 1
Нет аватара
 
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Чтобы использовать для навигации по инвентарю клавиши A,W,S,D, используемые обычно для управления перемещением игрока, переопределил им команды (в классе HUD'а), примерно так:
Код

local name keyW;
keyW='W';
MyController.PlayerInput.SetBind(keyW, "Inv_MoveForward");

Когда инвентарь закрывается, включается обратное переопределение:
Код

MyController.PlayerInput.SetBind(keyW, "GBA_MoveForward");

И вот это обратное переопределение почему-то не работает. То есть, отображение клавиши W на команду GBA_MoveForward работает (я проверял в игре с помощью функции GetBind), но сама команда почему-то не перемещает игрока. В Default.Input.ini она определена так:
Код

.Bindings=(Name="GBA_MoveForward", Command="Axis aBaseY speed=1.0")

То есть эта команда увеличивает переменную aBaseY в классе Input, и в следствии этого перемещает игрока вперед. Однако в моем случае как раз таки этого изменения aBaseY и не происходит, и непонятно почему, не может же мое первое переопределение клавиши W отменить определение команды GBA_MoveForward в конфигурационном файле пользовательского ввода?

Добавлено (12 Май 2014, 17:30)
---------------------------------------------
Предыдущий вопрос с повестки вечности снимается, так как ошибка была не в переопределении ввода, а в том, что я параллельно переопределил состояние PlayerWalking (класс производный от PlayerController). На сколько я понял, в этом состоянии, вызов функции AdjustPlayerWalkingMoveAccel собственно и ответственен за визуализацию изменений input переменных (как раз те что передают программе пользовательский ввод с клавиатуры и мыши), которые я переопределял.
На самом деле AdjustPlayerWalkingMoveAccel - странная функция, в PlayerController есть объявление этой функции, но ее тело отсутствует, при том это не nativ-функция, т.е. она не в скомпилированном С++коде в исполняемых файлах. Если кто-то сможет прояснить ситуацию с этой загадочной функцией, буду благодарен).

 
СообщениеЧтобы использовать для навигации по инвентарю клавиши A,W,S,D, используемые обычно для управления перемещением игрока, переопределил им команды (в классе HUD'а), примерно так:
Код

local name keyW;
keyW='W';
MyController.PlayerInput.SetBind(keyW, "Inv_MoveForward");

Когда инвентарь закрывается, включается обратное переопределение:
Код

MyController.PlayerInput.SetBind(keyW, "GBA_MoveForward");

И вот это обратное переопределение почему-то не работает. То есть, отображение клавиши W на команду GBA_MoveForward работает (я проверял в игре с помощью функции GetBind), но сама команда почему-то не перемещает игрока. В Default.Input.ini она определена так:
Код

.Bindings=(Name="GBA_MoveForward", Command="Axis aBaseY speed=1.0")

То есть эта команда увеличивает переменную aBaseY в классе Input, и в следствии этого перемещает игрока вперед. Однако в моем случае как раз таки этого изменения aBaseY и не происходит, и непонятно почему, не может же мое первое переопределение клавиши W отменить определение команды GBA_MoveForward в конфигурационном файле пользовательского ввода?

Добавлено (12 Май 2014, 17:30)
---------------------------------------------
Предыдущий вопрос с повестки вечности снимается, так как ошибка была не в переопределении ввода, а в том, что я параллельно переопределил состояние PlayerWalking (класс производный от PlayerController). На сколько я понял, в этом состоянии, вызов функции AdjustPlayerWalkingMoveAccel собственно и ответственен за визуализацию изменений input переменных (как раз те что передают программе пользовательский ввод с клавиатуры и мыши), которые я переопределял.
На самом деле AdjustPlayerWalkingMoveAccel - странная функция, в PlayerController есть объявление этой функции, но ее тело отсутствует, при том это не nativ-функция, т.е. она не в скомпилированном С++коде в исполняемых файлах. Если кто-то сможет прояснить ситуацию с этой загадочной функцией, буду благодарен).


Автор - Argentum
Дата добавления - 12 Май 2014 в 17:30
Форум Игроделов » UNREAL ENGINE и UDK » ОБЩИЕ ВОПРОСЫ » Глюк с переопределением ввода
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024