У меня есть приложение iOS Cocos2D, предназначенное для работы в ландшафтном режиме. При моделировании приложения на iPhone 5 устройств, я использую следующий код, чтобы получить размеры экрана:Разрешение пикселей в Xcode 6 для проекта Cocos2D
CGSize screenSizeInPixels = [CCDirector sharedDirector].winSizeInPixels;
Выполнение этого кода дает screenSizeInPixels.width = 1136.0f и screenSizeInPixels.height = 640.0f. Но когда я имитирую/выполняю тот же код в Xcode 6, я получаю как раз наоборот: screenSizeInPixels.width = 640.0f и screenSizeInPixels.height = 1136.0f.
Почему размеры пикселей меняются на противоположные?
, вероятно, по той же причине, что и всегда: это зависит от того, когда/где начинается первая сцена и является ли приложение пейзажным или портретным приложением. Первоначально все приложения запускаются в портретном режиме перед переходом в альбомный режим, после чего размер изменяется, чтобы отразить это. – LearnCocos2D
@ LearnCocos2D Приложение представляет собой ландшафтное приложение (то есть ориентация устройства в Xcode - это альбомная слева и справа). В appDelegate я сначала запустил окно и создаю режиссера. В этот момент, если я посмотрю на winSizeInPixels, ширина равна 1136. Затем я установил ориентацию устройства с помощью [director setDeviceOrientation: kCCDeviceOrientationLandscapeRight]; В этот момент, если я посмотрю на winSizeInPixels, ширина изменится на 640. В коде ничего не изменилось. В Xcode 5 это поведение в обратном порядке. Я не знаю, является ли это проблемой версии iOS или проблемой Xcode. Как можно устранить этот – JeffB6688
возможный дубликат? http://stackoverflow.com/questions/25777136/spritebuilder-project-with-wrong-node-positions-in-xcode-6/25777349#25777349 –