Это рассмотренный метод:Метод, предназначенный для измельчения плитки в массив, терпит неудачу, когда ему дается более одной строки?
Color[][] ChopUpTiles()
{
int numTilesPerRow = terrainTiles.width/tileResolution;
int numRows = terrainTiles.height/tileResolution;
Color[][] tiles = new Color[numTilesPerRow * numRows][];
for (int y = 0; y < numRows; y++)
{
for (int x = 0; x < numTilesPerRow; x++)
{
tiles[y * numTilesPerRow + x] = terrainTiles.GetPixels(x * tileResolution , y * tileResolution, tileResolution, tileResolution);
}
}
return tiles;
}
Это довольно основная функция, и работает - до тех пор, как Tileset в вопросе имеет только одну строку. Если он имеет более чем одну строку, это волнует. Внезапно использование «Плитки [1]» больше не возвращает плитки 1. Вместо этого она возвращает ... плитка 15. Я понятия не имею, почему она действует таким образом или где математика ошибочна. Может ли кто-нибудь понять, что происходит?
При использовании функции используется несколько, как это - что я хотел добавить, но забыл раньше: цвет [] [] tiles = ChopUpTiles(); - Цвет [] p = плитки [0]; – Merlin