我对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