No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Inicialización del tablero

9/31
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

// Método
Instantiate();
// tomar un objeto (GameObject o prefab) y lo instancia

Es muy interesante la lógica del método para crear y rellenar el tablero

  1. Se inicia el tablero con el tamaño en filas y columnas
  2. Se indica cuál es la posición espacial inicial del tablero (cual es su esquina superior izquierda)
  3. Se recorren las filas y columnas creando los Candy
  4. Se le da nombre a cada caramelo según la fila y columna donde está
  5. Se ingresa el caramelo en el tablero
    private void CreateInitialBoard(Vector2 offset)
    {
        candies = new GameObject[xSize, ySize];

        float startX = this.transform.position.x;
        float startY = this.transform.position.y;

        for(int x = 0; x < xSize; x++)
        {
            for(int y = 0; y < ySize; y++)
            {
                GameObject newCandy = Instantiate(currentCandy,
                    new Vector3(startX + (offset.x * x),
                                startY + (offset.y * y),
                                0),
                    currentCandy.transform.rotation);
                newCandy.name = string.Format("Candy[{0}][{1}]", x, y);
                candies[x, y] = newCandy;
            }
        }
    }

Dejo aquí el método:

void CreateInitialBoard(Vector2 offset)
{
  candies = new GameObject[xSize, ySize];

  float startX = this.transform.position.x;
  float startY = this.transform.position.y;

  for(int x = 0; x < xSize; x++) // Rows
  {
    for(int y = 0; y < ySize; y++) // Columns
    {
      GameObject newCandy = Instantiate(
        currentCandy,
        new Vector3(
          startX + (offset.x * x),
          startY + (offset.y * y),
          0
        ),
        currentCandy.transform.rotation
      );

      newCandy.name = string.Format("Candy [{0}] [{1}]", x, y);

      candies[x, y] = newCandy;
    }
  }
}

Otra manera de escribir un string sin el “string.Format” es la siguiente:

int x = 1;  //ejemplo de variable x
int y = 1; //ejemplo de variable y
newCandy.name = $"Candy {x}, {y}";

Genial