【发布时间】:2014-09-17 16:40:43
【问题描述】:
我有一个设计为在横向模式下运行的 iOS Cocos2D 应用程序。在 iPhone 5 设备上模拟应用程序时,我使用以下代码获取屏幕尺寸:
CGSize screenSizeInPixels = [CCDirector sharedDirector].winSizeInPixels;
执行此代码会产生 screenSizeInPixels.width = 1136.0f 和 screenSizeInPixels.height = 640.0f。但是当我在 Xcode 6 中模拟/执行相同的代码时,我得到了相反的结果:screenSizeInPixels.width = 640.0f 和 screenSizeInPixels.height = 1136.0f。
为什么像素尺寸颠倒了?
【问题讨论】:
-
可能和往常一样的原因:它取决于何时/何地启动第一个场景以及应用程序是横向还是纵向应用程序。最初,所有应用都以纵向模式启动,然后更改为横向模式,此时会更改大小以反映这一点。
-
@LearnCocos2D 该应用程序是一个横向应用程序(即 Xcode 中的设备方向是横向左侧和横向右侧)。在 appDelegate 中,我首先初始化窗口并创建导演。此时,如果我查看 winSizeInPixels,宽度为 1136。然后我使用 [director setDeviceOrientation:kCCDeviceOrientationLandscapeRight] 设置设备方向;此时,如果我查看 winSizeInPixels,宽度变为 640。代码中没有任何变化。这种行为在 Xcode 5 中正好相反。我不知道这是 iOS 版本问题还是 Xcode 问题。我该如何解决这个问题
标签: ios xcode cocos2d-iphone xcode6