2015-08-20 82 views
-3

我想製作支持所有iOS設備的通用遊戲,除了讓項目如何讓我的遊戲支持所有屏幕尺寸外,還有一種方法可以通過代碼檢測屏幕尺寸,並根據尺寸更改圖形和代碼,每臺設備的圖形分辨率應該如何?分別self.frame.sizeself.frame.widthself.frame.height如何在SpriteKit中支持多種屏幕尺寸?

+1

此問題已被多次詢問。 – sangony

+0

我沒有找到我想要的 – RUON

+0

然後爲了清楚起見,你應該在你的問題上增加更多的細節,你到底在找什麼。 – sangony

回答

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

+0

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

0

嘛,GameScene應該SKScene繼承,您可以通過執行獲得的大小,寬度和高度。

This鏈接也可能幫助你。