webgl默认会截获所有键盘输入。
参考官网api:
键盘输入和焦点处理 默认情况下,无论 WebGL 画布是否具有焦点,Unity WebGL 都会处理发送到页面的所有键盘输入。这样做是为了让用户能够立即开始玩基于键盘的游戏,而无需先点击画布进行聚焦。但是,如果页面上有其他 HTML 元素应该接收键盘输入(例如文本字段),这会导致问题,因为 Unity 会在页面的其余部分获取输入事件之前占用输入事件。如果需要让其他 HTML 元素接收键盘输入,可使用WebGLInput.captureAllKeyboardInput 属性更改此行为。
WebGLInput.captureAllKeyboardInput 描述:捕捉所有键盘输入。 此属性确定 WebGL 是否捕捉键盘输入。如果启用此属性(默认设置),无论焦点在哪里,WebGL 画布都将接收所有输入,网页中的其他元素将不会接收键盘输入。如果需要由其他 html 输入元素接收输入,则需要禁用此属性。
using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
#if !UNITY_EDITOR && UNITY_WEBGL
WebGLInput.captureAllKeyboardInput = false;
#endif
}
}
|