2017-06-07 6 views
1

Ich habe ein 2D-Button-Array (Buttons), die ein 5 mal 5 Raster von Buttons erzeugen. Ich möchte den Index einer einzelnen Schaltfläche (sagen wir (2,2) in der Mitte) erhalten, wenn Sie darauf klicken, und die Indexwerte von Schaltflächen um die ursprüngliche Schaltfläche innerhalb eines 3 x 3-Radius finden, indem Sie ganzzahlige Variablen wie topcentre erstellen (das wäre der Index der Schaltflächen (x, y - 1) oder 1,2, wobei x und y die Werte der angeklickten Schaltfläche sind.) Ich kann dann Text usw. in die umgebenden Schaltflächen einfügen.Wie bekomme ich den Index eines 2D-Objekt-Arrays?

Hier ist eine Visualisierung:

0,0 | 0,1 | 0,2 | 0,3 | 0,4

1,0 | 1,1 | 1,2 | 1,3 | 1,4

2,0 | 2,1 | 2,2 | 2,3 | 2,4

3,0 | 3,1 | 3,2 | 3,3 | 3,4

4,0 | 4,1 | 4,2 | 4,3 | 4,4

Wie kann ich das tun?

Antwort

3

Im Backend können Sie einfach ein einzelnes Array verwenden.

0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 1,0 | 1,1 | 1,2 | 1,3 | 1,4 | 2,0 | 2, 1 | 2,2 | 2,3 | 2,4 | 3,0 | 3,1 | 3,2 | 3,3 | 3,4 | 4,0 | 4,1 | 4,2 | 4,3 | 4,4

Auch wenn auf der Benutzeroberfläche es als 2D angezeigt wird.

2,2 wäre Index 12 ({x} * {Breite} + {y} = 2 * 5 + 2 = 12). Um den anderen Index zu erhalten, können Sie subtrahieren oder hinzufügen.

Top Links = {index} - {width} - 1
Top = {index} - {width}
oben rechts = {index} - {width} + 1
...

Verwandte Themen