我在我的SpriteKit遊戲中有幾個SKSpriteNodes,像背景暫停和遊戲結束場景和按鈕。現在我宣佈和didMoveToView
加入他們,並使用了諸如:如何在需要時產生SKSpriteNode?
let pauseButton = SKSpriteNode(imageNamed: "pauseButton")
let pauseBackground = SKSpriteNode (imageNamed: "pauseBackground")
let resumeButton = SKSpriteNode (imageNamed: "resumeButton")
然後,我初始化它們:
self.pauseButton.anchorPoint = CGPointMake(0.5, 0.5)
self.pauseButton.position = CGPointMake(CGRectGetWidth(self.frame) - self.cookieSpot/3, CGRectGetMaxY(self.frame) - self.cookieSpot/3)
pauseButton.size = self.pauseButton.size
pauseButton.name = "pauseButton"
pauseButton.zPosition = 1000
pauseBackground.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.pauseBackground.hidden = true
self.pauseBackground.name = "pauseBackground"
self.pauseBackground.zPosition = +1
resumeButton.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame) + self.resumeButton.size.height * 2 + self.resumeButton.size.height - self.resumeButton.size.height/4)
self.resumeButton.hidden = true
self.resumeButton.name = "resumeButton"
self.resumeButton.zPosition = +1
然後將其添加:
self.addChild(pauseBackground)
self.addChild(resumeButton)
self.addChild(gameOverBackground)
當它不需要,當用戶正在點擊一個暫停按鈕時,我試圖使用這樣的東西:
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
switch self.nodeAtPoint(location) {
case pauseButton:
self.pauseBackground.hidden = false
self.resumeButton.hidden = false
self.scene?.view?.paused = true
case resumeButton:
self.pauseBackground.hidden = true
self.resumeButton.hidden = true
self.scene?.view?.paused = false
default:
println("not good")
}
}
這根本不適合我。他們正在產卵我猜,但他們是看不見的。在不需要的時候應該如何存儲這些節點,並在適當的時候產生它們?
「產卵」是什麼意思? – sangony 2015-04-02 00:48:00
這應該工作。也許它與暫停按鈕的初始化?爲我們發佈 – MaxKargin 2015-04-02 00:50:32
@sangony我的意思是將它們呈現在其他節點之上。例如,當用戶點擊一個按鈕時,可以考慮出現在屏幕上的暫停場景。現在我在類中聲明它,放置它們並在'didMoveToView'中執行'addChild'並將它們設置爲隱藏。然後,當用戶與暫停按鈕交互時,我希望它們出現在其他節點上方。我嘗試'hidden = false',但它們仍然是不可見的。儘管如果我點擊簡歷按鈕的位置,我可以取消暫停遊戲。 @ M321K我已經更新了我的代碼! – Burundanga 2015-04-02 11:05:59