2015-08-17 3 views
0

С нескольких лет назад у меня есть «iPhone - это контроллер, игровой экран, отображаемый по телевизору через Apple TV и Air Play». Это похоже на игру с космическим шутером-лабиринтом, за исключением того, что стрельба отсутствует, и цель состоит в том, чтобы управлять космическим кораблем, чтобы найти босса (что является рисунком моего тогдашнего 1-летнего сына). Как игра NES без NES.Игра для Apple TV выглядит наклонной на большом экране

Теперь, когда я запускаю материал в первый раз примерно через год, контроллер, который в основном использует сцену SpriteKit по линии, наклонена на 90 градусов вправо или влево. «OR» зависит от того, с какой ориентацией работает мой iPhone 6 Plus, когда приложение запускается. Таким образом, игра теперь занимает только половину экрана телевизора - потому что она наклонена - и даже мирянин может видеть, что происходит что-то подозрительное, потому что текст не является нормальным горизонтальным текстом, который вы сейчас читаете, он наклонен.

Что-то изменилось недавно, как с iOS 8, и как подключить дополнительный UIScreen: работа? Я редко касаюсь этого проекта, поэтому я забываю, как все работает большую часть времени, когда я делаю что-то с ним снова после долгого перерыва. Кто-нибудь испытал это и знал, с чего начать копать?

ответ

0

Похоже, что само приложение и то, что отображается на карманном устройстве/контроллере (iPhone), должно быть/должно быть только портфолио. Если приложение будет запущено в ландшафтном режиме, экранное меню на телевизоре также будет «наклонено», без того, чтобы телевизор был наклонён ... и все выходит из строя. Я установил портрет только, щелкнув флажки в целевом -> ориентации устройства.

Это нежелательно, потому что нормальный контроллер видеоигр находится в ландшафтном положении, и это было так, как я всегда использовал его. Я не знаю, что заставило эту работу по-другому, может быть, это iPhone 6 Plus с поддержкой ландшафта на уровне домашнего экрана, или, может быть, iOS 8 или что-то еще.

Так что здесь есть в основном два варианта.

  • Дизайн контроллера как портрет, но уже в дизайне все наклонено. Нижний левый поперечный рычаг управления должен быть вставлен в левый верхний угол, повернутый на 90 градусов вправо для поддельной настройки «пейзаж справа». Может быть, меньше боли, чем делать то же самое на экране телевизора.

  • Продолжайте использовать режим реального ландшафта для контроллера и используйте некоторое вращение против наклона, установив новое повернутое преобразование преобразования представления ТВ-регулятора. (Я попробовал это, казалось, что он нужен перевод, как хорошо, так что я отдал все еще может работать.).

Обновление: Я нашел лучшее решение:

  1. Разрешить пейзаж справа, пейзаж слева И портретные вращения приложения. (В таком порядке, если вы намерены запустить контроллер в ландшафтном режиме. - но портрет должен быть там)

  2. В подкласс UIViewController, который контролирует то, что происходит на вашем ТВ, возвращение UIInterfaceOrientationMaskPortrait в supportedInterfaceOrientations. Контроллер телевизора должен работать в режиме «портрет», который для ТВ-контроллера будет означать «режим по умолчанию», который для глаза выглядит как нормальный ландшафтный режим. Ландшафтный телевизионный контроллер будет означать наклонный вид, и мы этого не хотим. Да, это странно, но, возможно, логично.О, и в подклассе UIViewController для ручного контроллера я возвращаю UIInterfaceOrientationMaskLandscape, чтобы не поддерживать портретный режим. Вероятно, пользователь запускает контроллер в портретном режиме (особенно на любом iPhone, отличном от 6 Plus), и если мы поддерживаем его, он может подумать, что контроллер может использоваться только в портретном режиме, и это очень неудобно при воспроизведении видеоигр.