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