问题
I want to make universal game that support all iOS devices , beside making the project how to make my game support all screen sizes is there is a way to detect the screen size by code and change the graphic and the code according to the size , and what should the resolution of the graphics for each device ?
回答1:
Use this code to determine the width and height of the screen. You can also find out what device is being used.
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
}
You can println()
the values in the debugger.
回答2:
Well, GameScene should inherit from SKScene
, which you can get the size, width, and height of by doing: self.frame.size
,self.frame.width
, andself.frame.height
respectively.
This link may also help you.
来源:https://stackoverflow.com/questions/32124407/how-to-support-multiple-screen-sizes-in-spritekit