0

次のコードを使用しようとしています。

func redrawShape(shape: Shape, completion:() -> ()) {
    for (idx, block) in shape.blocks.enumerate() {
        let sprite = block.sprite!
        let moveTo = pointForColumn(block.column, row: block.row)
        let moveToAction: SKAction = SKAction.moveTo(moveTo, duration: 0.05)
        moveToAction.timingMode = .EaseOut
        sprite.runAction(moveToAction, completion: nil)
}

次の行でエラーが発生します。

sprite.runAction(moveToAction, completion: nil)

エラーは言う:

タイプ「(SKAction、完了:nil)」の引数リストで「runAction」を呼び出すことはできません

これを修正する方法がわかりません。

4

2 に答える 2

2

間違ったメソッドを呼び出しています。完了ハンドラがない場合は、 を呼び出さないでくださいrunAction(_:completion:)runAction(_:)次のようにsimple を呼び出します。

 sprite.runAction(moveToAction)

つまり、次の 2 つのオプションがあります。

  • runAction(_:)完了ハンドラがない場合は呼び出すことができます。または

  • runAction(_:completion:)完了ハンドラがある場合は呼び出すことができます。

しかし、あなたがやろうとしているように、完了ハンドラがない場合に呼び出すことはできません。runAction(_:completion:)

于 2015-06-16T19:40:37.470 に答える