Apple TV 游戏在大屏幕上出现倾斜
Posted
技术标签:
【中文标题】Apple TV 游戏在大屏幕上出现倾斜【英文标题】:Game for Apple TV appears tilted on the big screen 【发布时间】:2015-08-17 02:20:42 【问题描述】:几年前我有一个“iPhone是控制器,通过Apple TV和Air Play在电视上显示游戏画面”的项目慢慢进行。这就像一个太空射击迷宫游戏,除了没有射击,目标是驾驶一艘宇宙飞船找到老板(这是我当时 1 岁左右的儿子的照片)。就像没有 NES 的 NES 游戏。
现在,当我在大约一年左右的时间里第一次运行这些东西时,基本上使用 SpriteKit 场景的控制器在左右方向倾斜 90 度。 “OR”取决于应用程序启动时我的 iPhone 6 Plus 所处的方向。所以游戏现在只占据了电视屏幕的一半——因为它是倾斜的——即使是外行也能看出发生了什么可疑的事情,因为文本不是你现在正在阅读的正常水平文本,它是倾斜的。
最近有什么变化吗,比如 ios 8 以及连接额外的 UIScreen:s 是如何工作的?我很少接触这个项目,所以我大部分时间都忘记了一切是如何工作的,我在长时间的中断后再次使用它。有没有人经历过这种情况并且知道从哪里开始挖掘?
【问题讨论】:
【参考方案1】:四处寻找,似乎应用程序本身以及手持设备/控制器(iPhone)上显示的内容必须/应该仅是纵向的。如果应用程序以横向模式启动,电视上的屏幕显示也将“倾斜”,而电视本身不会倾斜......并且事情会出现故障。我只通过在目标->设备方向复选框中单击来设置纵向。
这有点不受欢迎,因为普通的视频游戏控制器处于横向位置,这是我一直使用的方式。我不知道是什么让这项工作有所不同,可能是 iPhone 6 Plus 在主屏幕级别支持横向,或者可能是 iOS 8 或其他。
所以这里基本上有两种选择。
将控制器设计为纵向,但在设计中已将所有内容倾斜。左下角的转向十字必须放在左上角,向右倾斜 90 度,以实现假的“横向”设置。可能比对电视屏幕做同样的事情更痛苦。
继续为控制器使用真实横向模式,并通过设置电视控制器视图变换的新旋转变换来使用一些反倾斜旋转。 (我试过了,好像也需要翻译,所以放弃了。还是可以的。)
更新:我找到了更好的解决方案:
允许应用程序向右横向、向左横向和纵向旋转。 (按照这个顺序,如果您打算在横向模式下启动控制器 - 但纵向必须在那里。)
在 UIViewController 的子类中控制电视上发生的事情,在 supportedInterfaceOrientations
中返回 UIInterfaceOrientationMaskPortrait
。电视控制器必须在“纵向”模式下运行,对于电视控制器来说,这意味着“默认”模式,这对眼睛来说就像正常的横向模式。一个景观电视控制器意味着一个倾斜的视图,我们不希望这样。是的,这很奇怪,但也许合乎逻辑。哦,在手控制器的 UIViewController 的子类中,我返回UIInterfaceOrientationMaskLandscape
,以免支持纵向模式。用户可能会以纵向模式启动控制器(尤其是在除 6 Plus 以外的任何 iPhone 上),如果我们支持,他/她可能会认为控制器只能在纵向模式下使用,这在玩视频游戏时非常不方便。
【讨论】:
以上是关于Apple TV 游戏在大屏幕上出现倾斜的主要内容,如果未能解决你的问题,请参考以下文章