我正在开发一个使用Swift的小游戏& SpriteKit。当我为“重新启动”按钮添加SKSpriteNode
时,它不能正确缩放。SKSpriteNode不能正常缩放
重新启动按钮的大小是100px的高度和宽度。如果我没有设置比例,它将覆盖整个屏幕并使屏幕显示为白色。我发现如果我只将setScale
设置为0.005而不是它出现在屏幕上,但尺寸不合适。
import Foundation
import SpriteKit
class EndScene: SKScene {
var restartBtn = SKSpriteNode()
override func didMoveToView(view: SKView) {
background()
restartGame()
}
func restartGame() {
restartBtn = SKSpriteNode(imageNamed: "restartBtn")
restartBtn.setScale(0.005)
restartBtn.position = CGPoint(x: self.size.width/2, y: self.size.height/4)
restartBtn.zPosition = 1
self.addChild(restartBtn)
}
func background() {
let bkg = SKSpriteNode(imageNamed: "Background")
bkg.size = self.frame.size
bkg.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2)
bkg.zPosition = -2
self.addChild(bkg)
}
}
下面是这段代码的输出, Restart Button Output
UPDATE
我把scene!.scaleMode = .AspectFill
右内didMoveToView
功能,并在适当的渲染SpriteNode的形状帮助。但仍然需要setScale(0.001)
才能使Restart按钮的大小适合屏幕。任何人都可以协助我仍然缺少哪些代码行吗?
我已经尝试过,但它没有给出任何不同的结果。要使用CGSize,我必须将宽度和高度设置为'0.1',以使其在屏幕上可见,并且仍呈椭圆形而不是圆形。 – Haadi