Страница 1 из 1

Траблы с клавой мака в Юнити

СообщениеДобавлено: 09 ноя 2010, 20:40
Sergig911
Проблема на макбуке про (
Прикрутил скрипты для управления движением ( из standart asserts - FPSInput Controller и компанию). Управление нормально идет через up,down,left,right - но схема wasd вообще не работает. Ровно как и остальные клавиши буквенные он не воспринимает. Кто нить сталкивался?

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 25 апр 2012, 16:41
snivik
Какая версия OS, Хакинтош? Язык какой стоит?

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 25 апр 2012, 17:38
gnoblin
лечится переключением системного языка на English

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 27 июл 2012, 14:18
ArtStack
Не лечится. У меня такая же проблема, но разбираться лень.
Суть: есть даже игра, UberStrike, которая сделана на Unity. Такая же фигня. но там даже стрелочки не всегда работают. Пробел и escape - ок. остальное - нет.
у меня самого, что в редакторе что в билдах под мак - wasd не работает.

макмини 2011.

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 12 авг 2012, 16:04
Multirezonator
Столкнулся с такой же проблемой, Unity Input на Mac Book Pro(Mac OS X 10.7.4) работает только если системным языком выбран English. К тому же недостаточно просто сменить язык на английский, нужно еще перезагрузиться.
:-\ Кто-нибудь знает как решается эта проблема? Достаточно будет определить нажата ли клавиша "w" и момент KeyUp этой клавиши.

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 21:06
Dok
Так же возникла проблема.
Делал проект в Windows, приобрел яблочную технику, и появилась проблема при обработке кнопок WQER...
Space - обрабатывается.
gnoblin писал(а):лечится переключением системного языка на English

Это единственное решение? Подскажите, плиз.

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 21:23
Dok
Данное решение помогло, но это очень уж не удобно.
Еще вопрос, а при распространении скомпилированного Build'а на другие Mac'и им тоже необходимо переключить системный язык, что бы играть?

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:03
Dok
Нашел способ:

Синтаксис:
Используется csharp
if ((Input.inputString == "a") || ((Input.inputString == "A")))
{
// code
}


И играть все равно придеться только при англю раскладке.
Пока придеться так наверное :(

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:23
AndreyMust19
Вы пробовали оба варианта?
Input.GetKeyDown("w")
Input.GetKeyDown(KeyCode.W)

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:26
Dok
AndreyMust19 писал(а):Вы пробовали оба варианта?
Input.GetKeyDown("w")
Input.GetKeyDown(KeyCode.W)


Да. При вкл. русской раскладке и inputString сообщает, что в нем ничего не записано, т.е. кириллица вообще не попадает туда.

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:31
seaman
Мелкое замечание.
if ((Input.inputString == "a") || ((Input.inputString == "A"))) лучше заменить на Input.inputString.ToUpper() == "A"
кириллица вообще не попадает туда.

Естественно. Читаем мануал:
Only ASCII characters are contained in the inputString.

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:41
Dok
seaman писал(а):Мелкое замечание.
if ((Input.inputString == "a") || ((Input.inputString == "A"))) лучше заменить на Input.inputString.ToUpper() == "A"
кириллица вообще не попадает туда.

Естественно. Читаем мануал:
Only ASCII characters are contained in the inputString.


За замечание спасибо.
Про ASCII забыл, тогда вариантов нет. Просто код клавиши никуда не записывается, значит только inputString.

Тогда вытекает другой вопрос, как установить средствами C# и/или Unity3D при старте игры англ. раскладку и контролировать (считал -> нетверно -> установил снова), что бы пользователь случайно не переключился?

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 22:57
seaman
Просто код клавиши никуда не записывается

Можно самому записывать, если так надо.
ЗЫ: может поможет:Input.GetButtonDown?

Re: Траблы с клавой мака в Юнити

СообщениеДобавлено: 18 янв 2013, 23:19
Dok
seaman писал(а):ЗЫ: может поможет:Input.GetButtonDown?

Это аналогично, что и проверка inputString, только в настройках(Edit -> Project Settings -> Input) еще все кнопки прописывать.

seaman писал(а):Можно самому записывать, если так надо.

В смысле?
И "если так надо" - тут как бы я просто хочу, что бы можно было играть в игру на Mac OS на любой раскладке, а не писать для игры:
"Минимальное требование: англ. раскладка."

Ну как вариант в качестве launcher написать на Obj-C, что бы он за раскладку отвечал, если средствами C# и/или Unity3D этого сделать нельзя.