如何为不同屏幕调整背景大小?
问题描述:
所以我只是想做一个适合不同屏幕的背景。这是我到目前为止:如何为不同屏幕调整背景大小?
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
}
答
我在编码的目标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
}
}
我用虚空在这里,但你可以使用的东西,什么适合你的需要,像SKSpriteNode等
希望它能帮助,
好运。