android - 使用移动浏览器(Unity webgl)时如何强制横向模式?

标签 android ios unity-game-engine unity-webgl

我正在开发一个 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/

相关文章:

android - 以编程方式计算textview的宽度

android - 如何创建圆形的 Facebook 个人资料图片

android - 创建平滑不确定的水平进度条

c# - KeyNotFoundException : The given key was not present in the dictionary

c# - 如何从 OwnerActorNr 获取玩家姓名 | PUN2

android - Recyclerview ViewHolder : onCreateViewHolder , View 绑定(bind)和onBindViewHolder在同一个类中

ios - 隐藏 UITextField 中的选择句柄

ios - 一个 ViewController,多个 tabBar 项

ios - 如何向 UIAlertController 添加操作并获取操作结果 (Swift)

java - 在 Unity Android 插件中访问和使用图像