Bonjour à tous,
J'essaye de créer des cases colorées en bleu dans la grille.
Pour cela j'utilise le code suivant:
private void Start()
{
Grille[1, 2] = -1;
Grille[6, 4] = -1;
Grille[1, 1] = -1;
DrawGrid();
}
void DrawGrid()
{
Vector3 startPosition = transform.position;
float horizontalOffset = Colonnes * cellSize * 0.5f - cellSize * 0.5f;
float verticalOffset = Lignes * cellSize * 0.5f - cellSize * 0.5f;
for (int row = 0; row <= Lignes; row++)
{
for (int col = 0; col <= Colonnes; col++)
{
// if ((Grille[row, col] == -1) && (Grille[row, col - 1] == -1))
{
Vector3 position = startPosition + new Vector3(col * cellSize - horizontalOffset, -row * cellSize + verticalOffset);
if (col < Colonnes)
{
CreateLine(verticalLinePrefab, position + new Vector3(cellSize / 2, 0, 0));
}
if (row < Lignes)
{
CreateLine(horizontalLinePrefab, position - new Vector3(0f, cellSize / 2, 0f));
}
}
}
}
}
void CreateLine(Image linePrefab, Vector3 position)
{
Image newLine = Instantiate(linePrefab, position, Quaternion.identity);
newLine.transform.SetParent(transform);
}
}
Le problème c'est que le quadrillage disparaît à l'écran quand j'utilise l'expression ci-dessous:
if ((Grille[row, col] == -1) && (Grille[row, col - 1] == -1))
Au lieu de dire de ne pas tracer la ligne verticale (verticalLinePrefab) entre les 2 cases vides et voisines en haut):
Le problème peut peut-être se régler en jouant avec row et col: if ((col == 6) && (row == 0)) par exemple.
Je ne comprends pas pourquoi le quadrillage disparaît à l'écran quand j'utilise l'expression ci-dessous:
if ((Grille[row, col] == -1) && (Grille[row, col - 1] == -1)).
Merci pour votre aide,
A+