0
我正在設計一個應用程序,其中包含81個佈置在9 * 9平方的瓷磚。一旦點擊,瓦片將有一個方法來執行。然後,也是8個周圍的瓷磚。我怎樣才能動態地知道哪些瓷磚是周圍的?我正在考慮給每個瓦片分配座標(兩個整數x和y),以通知它在正方形中的位置。例如,有沒有辦法知道哪個瓦片的x = 4和y = 7?參考來自同一類的所有對象
我正在設計一個應用程序,其中包含81個佈置在9 * 9平方的瓷磚。一旦點擊,瓦片將有一個方法來執行。然後,也是8個周圍的瓷磚。我怎樣才能動態地知道哪些瓷磚是周圍的?我正在考慮給每個瓦片分配座標(兩個整數x和y),以通知它在正方形中的位置。例如,有沒有辦法知道哪個瓦片的x = 4和y = 7?參考來自同一類的所有對象
您可以將所有拼貼存儲在公開存儲的9x9陣列中,並將特定拼貼的i和j位置傳遞給它。點擊一個貼圖時,可以調用一個全局方法,該方法將您點擊的貼圖的i和j並在每個周圍貼圖上運行一個方法。
public Tile[] tiles = [[tile1,tile2,...],[row2...],...[row9...]];
public void triggerTiles(int ith, int jth) {
for (int i = ith - 1; i <= ith + 1; i ++) {
if(i < tiles.length && i >= 0) {// check if we are in bounds
for(int j = jth - 1; j <= jth + 1; j ++) {
if(j < tiles[i].length && j >= 0) {// check if we are in bounds
if(i != ith && j != jth) { //If not the center tile
tiles[i][j].callMethod();
}
}
}
}
}
}
將它們存儲在二維數組中,然後您可以通過它們的座標引用它們。 –