使用移动浏览器(Unity webgl)时如何强制使用风景模式?

问题描述 投票:0回答:1

我正在研究一个统一的webgl项目。我想让它在移动环境中运行时保持横向模式。我确实尝试了很少的代码,但它们在Android和IOS上均不起作用。有谁能救我吗?

我做了这样的事情。

<script>
    if(UnityLoader.SystemInfo.mobile == true){
        ScreenOrientation.lock('landscape');
    }
</script>
android ios unity3d unity-webgl
1个回答
0
投票

您可以尝试这样的事情:

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时旋转,并在更改时再次旋转(用户只能看到横向的方式)。

© www.soinside.com 2019 - 2024. All rights reserved.