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

问题描述:

我想制作支持所有iOS设备的通用游戏,除了让项目如何让我的游戏支持所有屏幕尺寸外,还有一种方法可以通过代码检测屏幕尺寸,并根据尺寸更改图形和代码,每台设备的图形分辨率应该如何?分别self.frame.sizeself.frame.widthself.frame.height如何在SpriteKit中支持多种屏幕尺寸?

+1

此问题已被多次询问。 – sangony

+0

我没有找到我想要的 – RUON

+0

然后为了清楚起见,你应该在你的问题上增加更多的细节,你到底在找什么。 – sangony

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

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()值。

+0

谢谢你,你是最好的:) – RUON

嘛,GameScene应该SKScene继承,您可以通过执行获得的大小,宽度和高度。

This链接也可能帮助你。