我正在研究一个统一的webgl项目。我想让它在移动环境中运行时保持横向模式。我确实尝试了很少的代码,但它们在Android和IOS上均不起作用。有谁能救我吗?
我做了这样的事情。
<script>
if(UnityLoader.SystemInfo.mobile == true){
ScreenOrientation.lock('landscape');
}
</script>
您可以尝试这样的事情:
lockAllowed = window.screen.lockOrientation(orientation);
您可以在此处找到更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation
在Chrome上类似的东西应该可以工作
var lockFunction = window.screen.orientation.lock;
if (lockFunction.call(window.screen.orientation, 'landscape')) {
console.log('Orientation locked')
} else {
console.error('There was a problem in locking the orientation')
}
基本上,您只需指定所需的方向(在您的情况下为横向)。我不确定是否可以在移动设备上使用此解决方案。
因此,对于移动设备,您也可以尝试创建manifest.json
<link rel="manifest" href="http://yoursite.com/manifest.json">
{
"name":"A nice title for your web app",
"display":"standalone",
"orientation":"landscape"
}
唯一的解决方案是仅基于屏幕的x和y旋转所有内容(通过使用canvas rect),以便您可以在x> y时旋转,并在更改时再次旋转(用户只能看到横向的方式)。