如何使背景可调整大小以适应不同的屏幕?
How to make a background resizable for different screens?
所以我只是想制作一个适合不同屏幕的背景。这是我目前所拥有的:
class GameScene: SKScene, {
let scaleFactor: CGFloat = 0.0
override init(size: CGSize) {
super.init(size: size)
scaleFactor = self.size.width / 320.0
}
func createBackgroundNode() -> SKNode {
let backgroundNode = SKNode()
let background = SKSpriteNode(imageNamed: "Background")
background.setScale(scaleFactor)
background.position = CGPoint(x: self.frame.width / 2 , y: self.frame.height / 2 )
background.zPosition = 0
addChild(background)
return backgroundNode
}
我正在 objective c 编写代码,但我认为我的回答对您有用。您只需调整代码以适应 swift。我在实施后添加了以下方法:
- (void)ScreenSize
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
CGSize result = [[UIScreen mainScreen] bounds].size;
if (result.height == 480) {
//Do something
} else if (result.height == 568) {
//Do something
} else if (result.height == 667) {
//Do something
} else if (result.height == 736) {
//Do something
}
} else {
//Do something for iPad here
}
}
这里我用的是void,大家可以根据需要使用,比如SKSpriteNode等等
希望对您有所帮助,
祝你好运。
所以我只是想制作一个适合不同屏幕的背景。这是我目前所拥有的:
class GameScene: SKScene, {
let scaleFactor: CGFloat = 0.0
override init(size: CGSize) {
super.init(size: size)
scaleFactor = self.size.width / 320.0
}
func createBackgroundNode() -> SKNode {
let backgroundNode = SKNode()
let background = SKSpriteNode(imageNamed: "Background")
background.setScale(scaleFactor)
background.position = CGPoint(x: self.frame.width / 2 , y: self.frame.height / 2 )
background.zPosition = 0
addChild(background)
return backgroundNode
}
我正在 objective c 编写代码,但我认为我的回答对您有用。您只需调整代码以适应 swift。我在实施后添加了以下方法:
- (void)ScreenSize
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
CGSize result = [[UIScreen mainScreen] bounds].size;
if (result.height == 480) {
//Do something
} else if (result.height == 568) {
//Do something
} else if (result.height == 667) {
//Do something
} else if (result.height == 736) {
//Do something
}
} else {
//Do something for iPad here
}
}
这里我用的是void,大家可以根据需要使用,比如SKSpriteNode等等
希望对您有所帮助,
祝你好运。