Unity startup orientation handling issue in iOS8 横屏 bug

笔者的项目一直在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;

问题暂时得以解决。

posted @ 2014-12-10 11:31  胸中有沟壑  阅读(320)  评论(1编辑  收藏  举报