Ich habe eine Actionscript-3-Array, die Paare von Elementen wie folgt aufgeführt:Convert Liste von Paaren in Array-Gruppen in AS3
pairs[0] = Array('ItemA', 'ItemB'); pairs[1] = Array('ItemA', 'ItemC'); pairs[2] = Array('ItemC', 'ItemD'); pairs[3] = Array('ItemC', 'ItemE'); pairs[4] = Array('ItemF', 'ItemG'); pairs[5] = Array('ItemF', 'ItemH');
Und ich brauche in irgendeiner Weise über die Anordnung in einer Schleife alle überlappende Paare zu finden (alle Paare, die gemeinsame Paare haben).
Zum Beispiel ist ItemA
mit ItemB
und ItemC
gepaart, so dass sie in einer Gruppe zusammen gehören. ItemC
ist auch mit ItemD
und ItemE
gepaart, so dass sie auch ein Teil der ersten Gruppe sein müssen.
ItemF
, ItemG
und ItemH
überschneiden sich nicht mit irgendwelchen Elementen aus der ersten Gruppe, also müssen sie in ihre eigene Gruppe gestellt werden.
groups[0] = Array('ItemA', 'ItemB', 'ItemC', 'ItemD', 'ItemE'); groups[1] = Array('ItemF', 'ItemG', 'ItemH');
Vielen Dank für jede Hilfe und Anregungen:
Das resultierende Array wäre so etwas wie sein müssen!
Edit:
Ein wenig von einer Hintergrundgeschichte; Ich versuche, Filmclips zu gruppieren, die sich in 2D überlappen, um Gruppen oder Cluster zu erstellen (möglicherweise ein besseres Wort).
Wenn ich also 3 MovieClips auf der Bühne habe und ClipA überlappt mit ClipB und ClipB überlappt ClipC (aber ClipA überlappt ClipC nicht direkt) sollten sie alle zusammen gruppiert werden, da sie alle Teil desselben Clusters sind. Auf diese Weise sollte ein neuer Clip ein einzelnes Element in einem Cluster überlappen und wird dem Array dieser Gruppe hinzugefügt.
Ich habe bereits den Code ausgearbeitet, um überlappende Elemente zu finden, die diese Paare Liste produziert, jetzt muss ich es in saubere Gruppen zusammenfassen.
Möglicherweise hilfreich: Im wesentlichen möchte ich das genaue Gegenteil von dem, dies zu tun (http://stackoverflow.com/questions/3770362/split-array-into -unique-Paare) aber in AS3 (nicht PHP). Wenn die Lösung in PHP geliefert wird, kann ich sie wahrscheinlich problemlos in AS3 einbauen. – Levi
Der Schlüssel hier ist, dass, solange sie sich überschneiden, sie im selben Array sein sollten? Weißt du, welche sich überlappen oder musst du es zur Laufzeit herausfinden? – Mattias
Ja, solange sie sich mit anderen Elementen überschneiden, die bereits in der Gruppe vorhanden sind, sollten sie zu dieser Gruppe hinzugefügt werden. – Levi