2016-04-02 18 views
0

tiles[x][y] adlı 2d dizilim var, bu sayede 9'a kadar devam ediyor, bunun içinde 100 şey var.2d dizisinden normal diziye herşeyi koyar

Başka bir diziyi nasıl alabilirim ve 2d dizisinden normal diziye kadar her şeyi nasıl ekleyebilirim?

int counter = 0; 
    for (int x = 0; x < mapWidth; x++) { 
     for (int y = 0; y < mapHeight; y++) { 
      tiles[y][x] = new loopVak(Color.WHITE, x*tileWidth, y*tileHeight); 
      } 
     } 

Bu, daha sonra basitçe böyle bir şey yapabileceği yeni bir 1D Dizisine tiles dönüştürmek istiyorsanız mapwidth ve mapheight 10.

+0

, gönderdiğiniz kodda normal bir dizi veya tek bir boyut dizisi oluşturma işlemini nasıl açıklayabilirdiniz? – Blip

cevap

0

olduğunu 2d dizi nasıl yapıldığını geçerli:

int k = 0, newArray[] = new loopVak[100]; 
for(int i = 0; i < mapWidth; i++) { 
    for(int j = 0; j < mapHeight; j++) { 
     newArray[k++] = tiles[i][j]; 
    } 
} 

ilk etapta 2B dizisi o zaman böyle bir şey yapabileceğini istemiyorsanız:

int counter = 0, newArray[] = new loopVak[100]; 
for(int x = 0; x < mapWidth; x++) { 
    for(int y = 0; y < mapHeight; y++) { 
     newArray[counter++] = new loopVak(Color.WHITE, x * tileWidth, y * tileHeight); 
    } 
}