【发布时间】:2016-01-07 16:51:08
【问题描述】:
我的 cocos2d-js 游戏在移动设备上挂起,并显示“无法在 'Element' 上执行 'requestFullScreen':API 只能由加载器屏幕上的用户手势启动”。
因为 cocos 要求全屏显示,而我没有明确编码:我怎样才能防止这种情况发生?
非常感谢!
【问题讨论】:
标签: javascript google-chrome cocos2d-js
我的 cocos2d-js 游戏在移动设备上挂起,并显示“无法在 'Element' 上执行 'requestFullScreen':API 只能由加载器屏幕上的用户手势启动”。
因为 cocos 要求全屏显示,而我没有明确编码:我怎样才能防止这种情况发生?
非常感谢!
【问题讨论】:
标签: javascript google-chrome cocos2d-js
我找到了隐藏在文档中的解决方案:
cc.view.enableAutoFullScreen(false);
编辑:
这似乎不适用于 Chrome... 仍然得到:
在“元素”上执行“requestFullScreen”失败:API 只能通过用户手势启动。
【讨论】:
对于浏览器中的全屏功能,您可以使用https://github.com/bdougherty/BigScreen 而不是内置 api 的 cocos(我在我的 HTML5 游戏中使用了这个库)。它只有 1.4kb 并且可以正常工作
由于安全限制,全屏应该由用户手势触发,所以你需要一个按钮(例如你可以称之为开始游戏)来触发这个点击处理程序
function fullscreenButtonClick() {
if (BigScreen.enabled) {
BigScreen.request(element, onEnter, onExit, onError);
// You could also use .toggle(element, onEnter, onExit, onError)
}
else {
// fallback for browsers that don't support full screen
}
}
【讨论】: