Я испытываю очень странное поведение WebGLInput. У меня есть веб-сайт со сборкой WebGL Unity. По умолчанию WebGL захватывает все вводы с клавиатуры. Тем не менее, я должен использовать поля ввода в моем html.
Итак, сначала я отключаю WebGLInput, и он работает:
private void Start()
{
#if !UNITY_EDITOR && UNITY_WEBGL
WebGLInput.captureAllKeyboardInput = false;
#endif
}
Затем, используя функцию ниже, я отправляю сообщение в целое переключать ввод с клавиатуры. И сначала он работает, чтобы включить его, но он не отключает его!
document.addEventListener('click', function(e) {
if (e.target.id == "#canvas") {
this.FocusCanvas("1");
} else {
this.FocusCanvas("0");
}
}.bind(this), false);
Это мой код единства для переключения WebGLInput:
public void FocusCanvas(string focus)
{
#if !UNITY_EDITOR && UNITY_WEBGL
if (focus == "0") {
WebGLInput.captureAllKeyboardInput = false;
} else {
WebGLInput.captureAllKeyboardInput = true;
}
#endif
}
Я отлаживал до тех пор, пока Я мог и я более чем уверен, что метод запущен, и все выполняется. Но отключение captureAllKeyboardInput не работает. Кто-нибудь сталкивался с такой проблемой? если да, пожалуйста, дайте мне знать, что я делаю не так?