出于安全考虑,浏览器只会允许通过锁定光标或进入全屏模式来直接响应用户发起的事件(如鼠标点击或按键行为)。遗憾的是,Unity 没有单独的事件和渲染循环,因此会将事件处理推迟到以下时间点:浏览器不再确认 Unity 脚本发出的全屏或光标锁定请求(作为对触发该请求的事件的直接响应)。因此,Unity 会在用户发起的下一个事件(而不是触发光标锁定或全屏请求的事件)时触发该请求。

如果使用 Unity 的 UI.Button 组件,为了实现所需的行为,可创建 Button 的一个子类来重写 OnPointerDown 方法。

请注意,在进入全屏模式或锁定光标之前,浏览器可能会显示通知消息或询问用户是否允许。