当前位置: 代码迷 >> Android >> 【zc1415926】Unity3D的Android腾挪之路(三) 设备姿态
  详细解决方案

【zc1415926】Unity3D的Android腾挪之路(三) 设备姿态

热度:88   发布时间:2016-05-01 11:50:24.0
【zc1415926】Unity3D的Android移动之路(三) 设备姿态
    Device Orientation这里个人译为设备姿态,就是说你的设备是竖着的,横着的,还是趴下的?    在Unity3D中定义了七种设备姿态,分别为Portrait, PortraitUpsideDown, LandscapeLeft, LandscapeRight, FaceUp, FaceDown, Unknown。前四种姿态如图所示,FaceUP就是平放在桌面,屏幕冲天(或天花板)的姿态,不过不一定是在桌上,FaceDown和FaceUp相反,是屏幕冲地,Unknown就是不晓得当前设备姿态或无法获取设备姿态。




    如何判断设备姿态呢?这里要使用到Input.deviceOrientation变量获取设备姿态,它是只读的,也就是说你不要想着改变它的值来强制改变屏幕的方向了。获取了 Input.deviceOrientation 的值以后呢?当然是和DeviceOrientation 枚举中的DeviceOrientation.Portrait, DeviceOrientation.LandscapeLeft等进行比较进行判断了,DeviceOrientation枚举请参考官方手册
    举个例子说吧:

if (Input.deviceOrientation == DeviceOrientation.FaceDown)
{
            //这里做点儿什么
}
    学会了吧!    顺便说一下,要是想使用代码改变屏幕方向可以参考如下手册内容,方法与上边类似。
http://docs.unity3d.com/Documentation/ScriptReference/Screen-orientation.html
http://docs.unity3d.com/Documentation/ScriptReference/ScreenOrientation.html
  相关解决方案