私のレベルエディタで、私は "風車"という名前のSKSpritenodeを作成しました。 (|文字列|回転左) これに私は、ユーザーのデータ属性を追加しましたSpritekit | Swift3 |レベルエディタ - レベルエディタからSKSpritenodesのユーザデータを参照する
//I have no problem in loading the object in the GameScene class.
enumerateChildNodes(withName: "windmill") {windmillNode,_ in
windmill = windmillNode as? SKSpriteNode
windmillNode.zPosition = 3
windmillNode.move(toParent: _gameNode)
}
しかし、私がやりたいことは、ユーザデータのプロパティを呼び出すと回転値に応じています。私は角度を設定したい。
---エラー "タイプ '_?'の不変式に割り当てることができません。
が正しい表現ですか?
var angle: Int
if (windmillNode.userData?.object(forKey: "rotation")) = "left" {
angle = 360
} else {
angle = -360
}
ありがとうございました。操作のための文字列を宣言しなければなりませんでした。 if文は回転値が "left"のSKSpritenodesを見つけられないので、常に-360です(例:windmillNode.userData?.object(forKey: "rotation"))== "left" {} – user3482617
。これはエディタからノードのユーザデータを呼び出す正しい方法ですか? – user3482617
それを考え出した。エディタの「左」の値は、「オプション(左)」として引き出されています。ユーザーデータに印刷して見つけました。アイデアアイデアはありませんが、I == "Optional(left)"のとき、角度は-360ではなく360でした。 – user3482617