笔者的项目一直在Unity 4.3下开发,最近,在升级到xcode6以后,在iOS8设备上测试发现一个有趣的现象:
原本运行正常的横屏游戏,到了iOS8设备上,变成了竖屏运行,并且仍然是横屏的内容,那UI是一个惨不忍睹。Unity和xcode里的Device Orientation设置一直为“Lanscape Left”和"Lanscape Right"
目前Unity官方已在Release 4.5.3p1版本解决了该问题,对于4.5版本的童鞋非常方便,直接打上最新Patch就好
可惜的是,对于Unity 4.3版本,目前仍然没有官方解决方案。
在论坛上几番搜索、尝试,最后我们采取了这样的临时解决方案:
修改iPhone_OrientationSupport.mm文件,将第10、11行的以下两句 -
case landscapeLeft: return CGAffineTransformMakeRotation(M_PI_2); case landscapeRight: return CGAffineTransformMakeRotation(-M_PI_2);
替换成 -
case landscapeLeft: return CGAffineTransformIdentity; case landscapeRight: return CGAffineTransformIdentity;
问题暂时得以解决。
时间: 2024-10-18 04:00:49