我正在开发一个 Unity 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 矩形),以便您可以在 x > y 时旋转,并在发生变化时再次旋转(用户应该只看到横向)这样)。
关于android - 使用移动浏览器(Unity webgl)时如何强制横向模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60501159/