2017-08-10 192 views
0

我查看了与此相同错误的问题,但似乎无法将其与我的问题联系起来。我运行一个线程这样:无法将类型'()'的值转换为期望的参数'() - > 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'

这是怎么回事错在这里?

+1

'SKAction.run(_ :)'函数需要一个SKAction参数。但是你的'addBall(_:_ :)'函数不会返回'SKAction'。 – nayem

+0

我会返回哪些SKAction? –

+0

我对“SKAction”不太了解。这是你的实现。你最好找出你需要的东西。我只是指出了错误。 – nayem

回答

1

你的addBall函数没有返回任何东西。你应该这样做:

func addBall(_ screenWidth: CGFloat, _ screenHeight: CGFloat) -> SKAction { 

    return SKAction 
} 
相关问题