0
我試圖爲SKSpriteNode
創建一個自定義操作塊,我有以下代碼:智能KeyPaths不能正常工作
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)
我得到兩個錯誤,第一是編譯器想我有「的keyPath」,這是不是這樣,一個外來的說法,因爲如果我喜歡它建議刪除它,我得到這個錯誤:
Cannot convert value of type 'ReferenceWritableKeyPath' to expected argument type 'String'
第二個錯誤我得到的是:
Ambiguous reference to member 'subscript'
我不完全確定爲什麼我會得到所有這些錯誤,而且我不確定錯誤是什麼意思。如果有人能夠向我解釋並提出解決方案,那就太好了。提前致謝。