【问题标题】:Pixel Dimensions Reversed in Xcode 6 for Cocos2D ProjectCocos2D 项目在 Xcode 6 中反转的像素尺寸
【发布时间】: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


【解决方案1】:

这是 iOS SDK 中的一个错误:

https://github.com/cocos2d/cocos2d-swift/issues/973

一种解决方案是在 info.plist 中手动设置所需的方向,然后一切似乎都正常。它对我有用。

【讨论】:

  • 不确定我是否理解您的建议。 info.plist 已经有一个支持界面方向的条目。当您在应用程序目标的“常规”选项卡中选择“设备方向”时,会设置此设置(即,您设置构建设置、阶段等的同一视图)。对我来说,我想要的方向是横向(左主页按钮)。我可以手动覆盖该值,但这基本上不会导致任何变化。我是不是误解了你的建议?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 2015-01-16
  • 2021-10-08
  • 2015-10-29
  • 2015-07-18
  • 1970-01-01
相关资源
最近更新 更多