Я знаю, что есть проблема, когда вы планируете делать игру с spritekit в ландшафтном режиме, тогда вам нужно настроить свою систему координат в представлении контроллера ViewWayLayoutSubviews вместо viewDidLoad, чтобы правильно настроить систему координат.XCode 6.0 Spritekit: Пейзаж Координаты отображаются правильно на устройстве, но неправильно на симуляторе
Я сделал это, и в XCode 5 он правильно отображался как на симуляторе, так и на устройстве. Но когда я обновил до 6, он отображает мою высоту и ширину, измененные на симуляторе, но все же правильно на устройстве.
Это мой код в viewWillLayoutSubviews:
- (void) viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
SKView * skView = (SKView *)self.view;
if (!skView.scene)
{
//screenHeight and Width still have to be reversed to work on actual device. On simulator however they must not be reversed.
//screenWidth = (int)((CGRect)[[UIScreen mainScreen] bounds]).size.width;
//screenHeight = (int)((CGRect)[[UIScreen mainScreen] bounds]).size.height;
screenHeight = (int)((CGRect)[[UIScreen mainScreen] bounds]).size.width;
screenWidth = (int)((CGRect)[[UIScreen mainScreen] bounds]).size.height;
[self presentNewScene:startScene];
}
}
ScreenHeight и screenWidth являются двумя основными переменными, которые я использую, чтобы базировать все другие координаты в моей игре прочь. Прокомментированный раздел будет корректно отображаться в ландшафтном режиме на симуляторе, но сменяется на устройстве. Разделенный раздел отображается на симуляторе, но правильно отображается на устройстве.
Я предполагаю, что отображение фактического устройства является тем, что имеет значение. Но это беспокоит меня, что я не могу проверить на симуляторе, если я не отключу без комментариев для комментариев. Кто-нибудь еще переживает это? Это то, что я делаю правильно, чтобы пойти по этому поводу, или есть другой способ, которым я должен сейчас обращаться с этим, потому что это XCode 6?