1

のカスタム アクション ブロックを作成しようとしてSKSpriteNodeいます。次のコードがあります。

let sprite = SKSpriteNode(color: SKColor.red, size: CGSize(width: 50, height: 50))
sprite.position = CGPoint(x: 320, y: 240)    
self.addChild(sprite)

let animation = SKAction.customAction(withDuration: 0, actionBlock: {
    (node, elapsedTime) in

    var initialValue : CGFloat?
    initialValue = node[keyPath: \SKSpriteNode.position.x] //Extraneous argument label 'keyPath:' in subscript

    node[keyPath: \SKSpriteNode.position.x] = 10 //Ambiguous reference to member 'subscript'
})

sprite.run(animation)

2 つのエラーが発生しています。1 つ目は、「keyPath」の余分な引数があるとコンパイラが考えていることです。これは事実ではありません。示唆されているようにそれを削除すると、次のエラーが発生するためです。

タイプ 'ReferenceWritableKeyPath' の値を予期される引数タイプ 'String' に変換できません

私が得る2番目のエラーは次のとおりです。

メンバー 'subscript' へのあいまいな参照

これらのエラーがすべて発生する理由が正確にはわかりません。また、エラーの意味も正確にはわかりません。誰かが私にそれらを説明し、解決策を提案できれば、それは素晴らしいことです. 前もって感謝します。

4

1 に答える 1