zoukankan      html  css  js  c++  java
  • 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向

    http://www.xuanyusong.com/archives/2871

    如下图所示,在处理屏幕默认旋转方向的时候可以在这里进行选择,上下左右一共是4个方向。

    Unity3D研究院之设置自动旋转屏幕默认旋转方向 - 雨松MOMO程序研究院 - 1

     

    策划的需求是游戏采用横屏,但是要求支持两个方向自动旋转,如下图所示,我的设置是这样的。

    Default Orientation* Auto Roation 表示游戏支持自动旋转屏幕,但是前提是手机没有锁定屏幕旋转功能。

    Landscape Right 和Landscape Left 表示手机屏幕只支持横屏两个方向的自动旋转。

    Unity3D研究院之设置自动旋转屏幕默认旋转方向 - 雨松MOMO程序研究院 - 2

    这里问题就来了,既然设置了两个方向的自动旋转,那么必然会有一个默认的方向。然而Unity默认的方向就是Landscape Left  就是屏幕的正方向在手机Home的左边。大部分IOS游戏都是这个方向,但是在Android上可能就有点问题了,因为Android屏幕的左下角有个返回的按钮,假如你的游戏是横屏,又假如你的游戏操作区域在右下角,那么玩家玩的时候很有可能点到这个返回按钮,那么用户体验就降低了。。

    所以策划想让Android版默认正方向让屏幕在Home的右边,但是还必须支持横屏的自动旋转。。可是Unity的面板里根本没有设置带自动旋转,并且设置默认方向的参数。。。我想到在代码里面给它赋值,于是有了下面的代码。似乎问题解决的不完美,因为Unity开机有个启动画面,然而启动画面是在Awake之前执行的,所以虽然在Awake设置了屏幕方向,可是启动画面的方向确还是读取ProjectSetting里的。

    所以,我直接在Setting里面就设置默认的正方向屏幕在Home按键的右边。

    Unity3D研究院之设置自动旋转屏幕默认旋转方向 - 雨松MOMO程序研究院 - 3

    在Awake或者Start方法里面,在设置成支持横屏旋转,问题就完美解决了。

     

    打包时的屏幕翻转设置

    上述图片代表在Plyer Seettings设置中禁止翻转,使用的是Unity5.3版本

     

    下面是代买修改屏幕是否可翻转。

     

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. /// <summary>  
    5. /// 手机屏幕翻转问题  
    6. /// 2016.11.12  
    7. /// </summary>  
    8.   
    9. public class CellphoneOrientation : MonoBehaviour  
    10. {  
    11.     void Awake()  
    12.     {  
    13.         /// 如果在发布游戏包的时候,在playerSetting中设置了禁止屏幕翻转,但是代码中设置屏幕是可自动翻转,则游戏发布出来后,任然是可翻转的。  
    14.         Screen.orientation = ScreenOrientation.AutoRotation;  
    15.         /// 下面几个bool值设置了是否可以翻转到某个方向。false代表是禁止  
    16.         Screen.autorotateToLandscapeLeft = true;  
    17.         Screen.autorotateToLandscapeRight = true;  
    18.         Screen.autorotateToPortrait = true;  
    19.         Screen.autorotateToPortraitUpsideDown = true;  
    20.     }  
    21. }  

    unity3d 安卓开发中怎么设置为横屏

    最佳答案
     

      这是软件界面的截屏

      如图所示,第一个是竖向,第二个是竖向倒过来,第三个右横,第四左横,最后一个是自动旋转就是根据你的手机来旋转了。

  • 相关阅读:
    可空类型转换为不可空的普通类型
    如何使用AspNetPager分页控件和ObjectDataSource控件进行分页
    TFS映射后丢失引用的问题
    (很好用)JS时间控件实现日期的多选
    取两个日期之间的非工作日的天数(指的是周六、周日)
    在日期格式化的时候提示错误:Tostring没有采用一个参数的重载
    Linq返回的集合类型不是已有的表格类型时的写法(谨记:列表的时候用)
    系统缓存全解析6:数据库缓存依赖
    实现文本框动态限制字数的实现(好方法)
    实现GridView内容循环滚动
  • 原文地址:https://www.cnblogs.com/mimime/p/6862318.html
Copyright © 2011-2022 走看看