无法将类型'()'的值转换为期望的参数'() - > void'
问题描述:
我查看了与此相同错误的问题,但似乎无法将其与我的问题联系起来。我运行一个线程这样:无法将类型'()'的值转换为期望的参数'() - > void'
let ballGen = BallGenerator()
run(SKAction.repeatForever(
SKAction.sequence([
SKAction.run(ballGen.addBall(size.width, size.height)),
SKAction.wait(forDuration: 0.7),
])
))
addBall()
功能:
func addBall(_ screenWidth: CGFloat, _ screenHeight: CGFloat) {
// code
}
在哪里运行ballGen.addBall()
它提供了错误的行:
cannot convert value of type '()' to expected argument '() -> void'
这是怎么回事错在这里?
答
你的addBall函数没有返回任何东西。你应该这样做:
func addBall(_ screenWidth: CGFloat, _ screenHeight: CGFloat) -> SKAction {
return SKAction
}
'SKAction.run(_ :)'函数需要一个SKAction参数。但是你的'addBall(_:_ :)'函数不会返回'SKAction'。 – nayem
我会返回哪些SKAction? –
我对“SKAction”不太了解。这是你的实现。你最好找出你需要的东西。我只是指出了错误。 – nayem