problème de liste
Publié : 11 Mars 2024 23:30
bonjour,
Ce script C# me fournit des erreurs lorsque i>=2:
tandis que celui très similaire fonctionne:
Pouvez-vous donner une explication?
Je préfère utiliser Instantiate car ça m'évite de devoir rajouter les mesh et matériaux à chaque objet instancié surtout si l'objet est un préfab complexe.
merci de votre aide
Ce script C# me fournit des erreurs lorsque i>=2:
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class problem_list : MonoBehaviour
{
List<GameObject> ListGrid;
public GameObject grid;
public KeyCode appui;
int i = 0;
// Start is called before the first frame update
void Start()
{
ListGrid = new List<GameObject>();
ListGrid.Add(grid);
ListGrid[0] = grid;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(appui))
{
i++;
ListGrid.Add(grid);
ListGrid[i] = Instantiate(grid);
ListGrid[i].name = "Grid " + i;
if (i >= 2)
{
Destroy(ListGrid[i - 2]);
}
}
}
}
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class problem_list : MonoBehaviour
{
List<GameObject> ListGrid;
public GameObject grid;
public KeyCode appui;
int i = 0;
// Start is called before the first frame update
void Start()
{
ListGrid = new List<GameObject>();
ListGrid.Add(grid);
ListGrid[0] = grid;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(appui))
{
i++;
ListGrid.Add(grid);
ListGrid[i]=new GameObject("grid" + i);
if (i >= 2)
{
Destroy(ListGrid[i - 2]);
}
}
}
}
Je préfère utiliser Instantiate car ça m'évite de devoir rajouter les mesh et matériaux à chaque objet instancié surtout si l'objet est un préfab complexe.
merci de votre aide