如何在 SpriteKit 中支持多种屏幕尺寸?

How to support multiple screen sizes in SpriteKit?

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

嗯,GameScene 应该继承自 SKScene,您可以通过以下方式获取其大小、宽度和高度:self.frame.sizeself.frame.widthself.frame.height分别

This link 也可能对你有帮助。

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

    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() 调试器中的值。