我對swift很陌生,似乎無法理解這個概念: 我需要在一個函數中創建一個SKSpriteNode,然後在另一個函數中將其刪除,並且我無法完全知道如何對其進行編碼,以便移除功能可以訪問在另一個功能中創建的元素。情況:啓動節點已創建並顯示在屏幕上。英雄收集電源並在屏幕底部添加一個圖標。然後玩家可以觸摸開機圖標來使用它,然後應該從屏幕上移除圖標。 我會盡力在下面的代碼中說明我的意思。在不同的函數中添加/刪除SKSpriteNode
func createPowerUp() {
var powerUpNode = SKSpriteNode("...")//add node to screen for player to collect
addChild(powerUpNode)
}
func playerCollectsPowerUp() {
let powerUpIcon = SKSpriteNode("...")//add icon to bottom of screen
addChild(powerUpIcon)
}
func usePowerUp() {
powerUpIcon.removeFromParent()//This is my error, powerUpIcon is not defined
func touchesEnded() {
usePowerUp()
}
那麼,如何組織這個讓usePowerUp()可以訪問我在playerCollectsPowerUp創建SKSpriteNode()?我知道我可以在更高級別上定義SKSpriteNode,這樣可以使兩種方法都可以訪問加電圖標。但這是一種好的做法嗎?
您的代碼沒有任何意義:d – LinusGeffarth
我才意識到他是用快捷。應該可能更新我的答案哈。 – Andriko13
你使用Swift嗎?因爲這仍然看起來相當不對... – LinusGeffarth