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

时间:2015-08-20 17:16:41

标签: ios iphone swift ipad sprite-kit

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

2 个答案:

答案 0 :(得分: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()调试器中的值。

答案 1 :(得分:0)

好吧,GameScene应该继承SKScene,您可以分别通过self.frame.sizeself.frame.widthself.frame.height来获取大小,宽度和高度。

This链接也可以为您提供帮助。