我正在開發一個使用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