【发布时间】:2015-07-14 10:07:08
【问题描述】:
我对 swift 不熟悉,似乎无法理解这个概念: 我需要在一个函数中创建一个 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,这将使这两种方法都可以访问电源图标。但这是一个好习惯吗?
【问题讨论】:
标签: ios swift sprite-kit