gpt4 book ai didi

swift SpriteKit : "MCTFruit does not have a member named append?

转载 作者:行者123 更新时间:2023-11-30 14:05:57 25 4
gpt4 key购买 nike

我为障碍物输入了代码,并且使用fruits.append(fruits)行我得到了(见上文)错误,但是使用它正下方的行fruitTracker.append(fruits),一切正常。帮助?提前致谢(:

这是我的类(class)代码:

class MCTFruitGen: SKSpriteNode {
var generationTimer: NSTimer!

var fruits = [MCTFruit]()
var fruitTracker = [MCTFruit]()

func startGeneratingFruitEvery(seconds: NSTimeInterval) {


generationTimer = NSTimer.scheduledTimerWithTimeInterval(seconds, target: self, selector: "generateFruit", userInfo: nil, repeats: true)

}

func stopGenerating() {
generationTimer?.invalidate()
}
func generateFruit() {

var scale: CGFloat
let rand = arc4random_uniform(2)
if rand == 0 {
scale = -1.0
} else {
scale = 1.0
}

let fruits = MCTFruit()


fruits.position.x = size.width/2 + fruits.size.width/2

fruits.position.y = scale * (NMCGroundHeight/160 + fruits.size.height)

fruits.append(fruits)

fruitTracker.append(fruits)
addChild(fruits)
}

func stopFruit() {
stopGenerating()
for fruit in fruits {
fruit.stopFruitMoving()


}
}
}

最佳答案

generateFruit中,您创建了一个名为fruits的局部变量,它隐藏了您的类属性fruits:

let fruits = MCTFruit()

然后在这一行中,您引用 fruits,希望其中一个作为局部变量,一个作为类属性:

fruits.append(fruits)

编译器将使用局部变量,这就是您收到错误的原因,因为 fruits (MCTFruit 的实例)没有 append 方法。

你可以这样解决这个问题:

self.fruits.append(fruits)

但我建议您为局部变量选择另一个名称:

let fruit = MCTFruit()
fruits.append(fruit)

关于 swift SpriteKit : "MCTFruit does not have a member named append?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32414279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com