Arrays multidimensionales en Unity

Hynack

Estoy siguiendo un tutorial para generar un mapa a base de bloques. Todo va fantástico, hasta que tengo que generar un array tal que:

public byte[,] tiles;

A pesar de que es publico, no me sale en el visor de Unity al ejecutarlo. Además, el código no funciona, ya que me dice que el Array Index esta fuera de rango.

Las funciones involucradas:

public byte[,] tiles;

void GenTerrain(){
				tiles = new byte[10, 10];
		for (int px=0; px<tiles.GetLength(0); px++) {
			for (int py=0; py<tiles.GetLength(1); py++) {
								if (py == 5) {
					tiles [px, py] = 2;
								} else if (py < 5) {
					tiles [px, py] = 1;
								}
						}
				}
		}

void BuildMesh(){
		for(int px=0;px<tiles.GetLength(0);px++){
			for(int py=0;px<tiles.GetLength(1);py++){
				if(tiles[px,py] == 1){
					GenSquare(px,py,tStone);
				}
				else if(tiles[px,py] == 2){
					GenSquare(px,py,tGrass);
				}
			}
		}
	}

Ideas?

Hynack

No he dicho nada, acabo de encontrar mi error:

for(int py=0;py<tiles.GetLength(1);py++)

Para compensar, por si alguno esta interesado, el tutorial que estoy siguiendo es:

http://www.studentgamedev.org/2013/08/unity-voxel-tutorial-part-1-generating.html

1

Usuarios habituales

  • Hynack