私はCGPoint
と配列の配列のいくつかの配列を持つ関数を持っています。私はそれぞれの配列からポイントを手動で削除して、それを一つずつ追加しています。これは確かに退屈で非効率的なアプローチです。私はより効率的な方法を削除し、配列にポイントを追加処理するために探しています。私はポイントにそれらが含まれているアレイからp1
、p3
とp7
を削除し、配列のノートを取り、バックポジションを追加する方法を、例えば複数の配列から要素を削除してもう一度追加するにはどうすればよいですか?
func setSpritePositions() {
groupA1 = [p1, p4, p6, p8]
groupA2 = [p1, p3, p2, p5]
groupB1 = [p1, p7, p2, p6]
groupB2 = [p9, p4, p3, p2]
groupB2 = [p2, p4, p5, p8]
groupC1 = [p1, p7, p2, p7]
groupC2 = [p9, p4, p3, p2]
groupC3 = [p4, p5, p6, p7]
groupC4 = [p5, p1, p3, p4]
groupA = [groupA1, groupA2]
groupB = [groupB1, groupB2, groupB3]
groupC = [groupC1, groupC2, groupC3, groupC4]
groups = [groupA, groupB, groupC]
}
:ここに私のコードです。どのように私はそれを達成するだろうか?私が言ったように、私はそれを一つずつやってきましたが、それはあまりにも面倒です。
UPDATE
私は私のゲームでのスプライトの移動を制限する位置のさまざまなグループを使用しています。時々、私は特定の位置を削除し、どの配列を後で追加するかを知ることができます。
'groups'を繰り返します。各配列に対して、その配列を繰り返します。これらの配列のそれぞれに対して、ポイントが含まれているかどうかを確認します。その場合は、削除してから追加してください。 – rmaddy
@rmaddyあなたは 'groups'を通して他のすべての配列にアクセスしていますか?私はすべての他の配列を使用していますので、 'group'の変更だけでは、他の配列では影響を受けません。 NSArrayの使用を検討していましたが、特定の結果を得るために操作するのは非常に難しいでしょう。 – OnlyCodeMatters
"の位置を追加し、"実際には配列の末尾に置くかどうかここに追加することを意味しますか? "という意味ですか?p1がアクティブな場合があります。"私は後者を前提としていて、あるグループでp1が非アクティブであれば、すべてのグループで非アクティブです。 –