Page 2 sur 2

Re: Tracer une grille 6x10

Publié : 22 Août 2023 15:15
par boubouk50
juliuson a écrit :
22 Août 2023 12:54
Le problème c'est qu'il n'apparait rien à l'écran.
Merci de faire l'effort d'information. Cela ne nous dit rien du tout.
Tu as instancié des objets, donc ils sont présents.
Ils ont donc des positions, des tailles, etc.
Donne-nous ces détails !
Ils n'apparaissent pas = Pas instanciés ? scale = 0 ? Hors caméra ? Erreur ? Désactivés ? etc
Tu as déjà TOUTES CES INFORMATIONS avec toi, donc tu as la réponse. PAS NOUS.

Tes posts prennent toujours 50 réponses et 15 jours alors que souvent, si tu faisais l'effort d'information, cela pourrait prendre 2 réponses et une journée max.

Re: Tracer une grille 6x10

Publié : 25 Août 2023 20:31
par juliuson
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):

Image

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+