【问题标题】:How to support multiple screen sizes in SpriteKit?SpriteKit 如何支持多种屏幕尺寸?
【发布时间】:2015-08-20 17:16:41
【问题描述】:

我想制作支持所有iOS设备的通用游戏,除了制作项目如何使我的游戏支持所有屏幕尺寸之外,还有一种方法可以通过代码检测屏幕尺寸并根据尺寸,每个设备的图形分辨率应该是多少?

【问题讨论】:

  • 这个问题已经被问过很多次了。
  • 我没有找到我想要的
  • 那么为了清楚起见,您应该在问题中添加更多详细信息,说明您到底在寻找什么。

标签: ios iphone swift ipad sprite-kit


【解决方案1】:

使用此代码确定屏幕的宽度和高度。您还可以找出正在使用的设备。

    struct ScreenSize
{
    static let SCREEN_WIDTH         = UIScreen.mainScreen().bounds.size.width
    static let SCREEN_HEIGHT        = UIScreen.mainScreen().bounds.size.height
    static let SCREEN_MAX_LENGTH    = max(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT)
    static let SCREEN_MIN_LENGTH    = min(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT)
}

struct DeviceType
{
    static let IS_IPHONE_4_OR_LESS  = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH < 568.0
    static let IS_IPHONE_5          = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 568.0
    static let IS_IPHONE_6          = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 667.0
    static let IS_IPHONE_6P         = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 736.0
    static let IS_IPAD              = UIDevice.currentDevice().userInterfaceIdiom == .Pad && ScreenSize.SCREEN_MAX_LENGTH == 1024.0
}

您可以println() 调试器中的值。

【讨论】:

    【解决方案2】:

    嗯,GameScene 应该从SKScene 继承,你可以分别通过self.frame.sizeself.frame.widthself.frame.height 来获取它的大小、宽度和高度。

    This 链接也可能对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      相关资源
      最近更新 更多