如何在SpriteKit中支持多种屏幕尺寸?
我想制作支持所有iOS设备的通用游戏,除了使项目如何让我的游戏支持所有屏幕尺寸之外,还有一种方法是通过代码检测屏幕尺寸,并根据尺寸更改graphics和代码,每个设备的graphics分辨率应该是多less?
使用此代码来确定屏幕的宽度和高度。 您也可以找出正在使用的设备。
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 }
您可以在debugging器中println()
这些值。
那么,GameScene应该inheritanceSKScene
,你可以通过self.frame.size
, self.frame.width
和self.frame.height
分别得到大小,宽度和高度。
这个链接也可能帮助你。